1.框架的基本解读
scrapy engine :引擎,负责各个部件之间的通讯,信号以及数据的交流与传递
scheduler :调度器,负责接收的是引擎发送过来的requests请求,按照一定的方式进行整理排序,入队,将来如果引擎需要,就要将requests还给引擎
Downloader middlewares :下载中间件,自定义的内容,扩展下载功能
downloader :下载器,负责将引擎传递过来的requests发送出去,将返回的response对象,直接交还给引擎,由引擎交给spider
spider :负责处理所有的response,会分析处理出所有我们需要的数据,并且将徐亚跟进的URL提交给引擎,再由引擎交还给调度器
item piplines :管道,将会处理得到的item,请进行处理
spider middleware spider:中间件,负责将来处理spider和引擎之间的数据处理,比如将request 和reponse做相关处理等
各个环节之间的关系图:
安装
pip install scarpy
注意点:
3.7 先安装依赖 Twisted下载网址
https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
下载后:pip install 下载的Twisted的本地地址
然后再pip install scarpy
创建一个新项目
scrapy startproject 项目名
确定需要爬取的数据(目标字段)
在项目所在的同名文件夹下,打开items.py文件开始创建目标字段
class WorkDetail(scrapy.Item):
# 岗位名称
workname = scrapy.Field()
# 岗位人数
worknum = scrapy.Field()
# 岗位职责
workdetail = scrapy.Field()
创建爬虫程序
scrapy genspider 爬虫的名字 指定爬取的域名地址
修改爬虫程序
start_urls = ['http://www.**********.html']
修改初始的爬取起始地址
def parse()这个方法,将来是用来处理的response响应对象
爬取
scrapy crawl 爬虫名(qk)
利用框架存储数据
scrapy crawl 爬虫名字 -o 文件名.csv/json/xml等
关于shell的问题
scrapy shell 测试的路径(域名)