scrapy engine(引擎):负责spider,ItemPipeline,Downloader,Scheduler中间的通讯,信号,数据传递等
Scheduler(调度器):它负责接受引擎发送过来的request请求,并按照一定的方式进行整理排列,入队,当引擎需要是交还给引擎
Downloader(下载器):负责下载引擎发送的所有request请求,并将其获取到responses交还给引擎,有引擎交给spider来处理
spider(爬虫):它负责处理所有responses从中分析提取数据,获取item字段需要的数据,并将需要跟进分润url提交给引擎,再次进入schedule(调度器)
Item Pipeline(管道):它负责spider中获取到的ltem,并进行后期处理(详情分析,过滤,储存等)的地方
Downloader Middlewares(下载中间件):你可当作是一颗可以自定义扩展下载功能的组件
Spider Middlewares(spider中间件):你可以理解为是一个可以自定义扩展的操作引擎和spider中间通信的功能组件(比如进入spider的responses和充spider出去的request)
1.创建项目(scrapy startproject 名称)
scrapy genspider 名称 ‘http://www.xxx.com’
2.明确目标(编写items.py)
3.制作爬虫(spiders/爬虫.py)制作爬虫开始爬取网页
4.存储内容(pipelines.py)设置管道存储爬取内容
编写 item.py 明确需要提取的数据
编写 spiders/xxx.py 编写爬虫文件,处理请求和响应,以及提取数据(yield.item)
编写 pipelines.py 编写管道文件,处理 spider 返回 item 数据
编写 settings.py 启用管道组件,以及其他相关设置
parse(self,response):解析的方法,每个初始URL完成下载后将被调用,调用的时候传人从每一个url传回的Response对象来作为唯一参数,主要作用:
1.负责解析返回的网页数据response.body,提取结构化数据(生成item)
2.生成需要下一页的url请求