1、新建Scrapy项目,进入CMD,通过指令进入存放项目的目录,输入命令:
scrapy startproject firstScrapy
firstScrapy是爬虫项目的名称。
2、新建爬虫文件,通过指令进入爬虫项目所在目录,输入指令:
scrapy genspider -t basic ZYH baidu.com
ZYH是爬虫文件的名称,baidu.com是爬虫的限制网址。
3、通过Pycharm打开创建的Scrapy项目。
4、编写itmes.py:该文件主要用于定义爬虫的元素,如爬取的数据。
import scrapy
class FirstscrapyItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
content=scrapy.Field()
link=scrapy.Field()
5、编写pipelines.py:该文件主要用于定义数据处理过程,如对爬取的content元素进行输出。
class FirstscrapyPipeline(object):
def process_item(self, item, spider):
print(item["content"])
return item
6、编写(修改)settings.py:该文件主要对Scrapy项目进行设置,将其中的:
1)设置拒绝遵守robots协议:
# Obey robots.txt rules
ROBOTSTXT_OBEY = False
2)启用pipelines(默认是不启用的,直接去掉对应代码注释即可):
#设置pipelines启用
ITEM_PIPELINES = {
'firstScrapy.pipelines.FirstscrapyPipeline': 300,
}
7、编辑创建的爬虫文件,本文为ZYH.py
import scrapy
#导入items.py文件中的FirstscrapyItem类,目的能够是找到content变量
from firstScrapy.items import FirstscrapyItem
class ZyhSpider(scrapy.Spider):
name = 'ZYH'
allowed_domains = ['baidu.com']
start_urls = ['http://www.baidu.com/']
def parse(self, response):
#实例化FirstscrapyItem类
item=FirstscrapyItem()
#设置XPath语句进行爬取
item["content"]=response.xpath("/html/head/title/text()").extract()
#返回item,该语句非常重要,注意是yield不是return
yield item
8、运行爬虫项目,在CMD中,输入scrapy crawl ZYH --nolog,即可查看爬虫结果:
E:\Scrapy\firstScrapy>scrapy crawl ZYH --nolog
['百度一下,你就知道']