1、概念:是一个由python编写的爬虫框架,用于爬取网络数据、提取结构性数据的框架。使用了Twisted异步网络框架,可以加快下载速度。
2、作用:少量的代码就可以实现快速的抓取。
3、工作流程
爬虫的工作流程:起始url — url队列 — 发送请求获得响应 — 解析响应 — 保存数据
其中,如果网页需要翻页,在解析响应时会重新获取一个url,重复步骤2-4。
Middlewares:爬虫、下载中间件,定制化操作,一般不需要自己写
绿箭头:数据流
Scrapy Engine:引擎,驱动各个模块的运行,负责数据和信号在不同模块间的传递,类似于通信中的运营商
Scheduler:调度器队列,存放引擎发过来的request请求(get pop)
Download:下载器
Spiders:爬虫,发起起始请求(url的封装),解析响应(数据,新的url)
Item Pipeline:Item对象,处理数据(保存数据)
其流程可以描述如下:
1. 爬虫中起始的url构造成request对象–>爬虫中间件–>引擎–>调度器
2. 调度器把request–>引擎–>下载中间件—>下载器
3. 下载器发送请求,获取response响应---->下载中间件---->引擎—>爬虫中间件—>爬虫
4. 爬虫提取url地址,组装成request对象---->爬虫中间件—>引擎—>调度器,重复步骤2
5. 爬虫提取数据—>引擎—>管道处理和保存数据
scrapy的三个内置对象
· request请求对象:由url method post_data headers等构成
· response响应对象:由url body status headers等构成
· item数据对象:本质是个字典
相关链接: