scrapy介绍
Scrapy是一种快速的高级Web爬行和Web抓取框架,用于抓取网站并从其页面中提取结构化数据。 它可用于各种用途,从数据挖掘到监控和自动化测试
scrapy组件
- scrapy包含以下组件
- 引擎:负责数据和信号在不同组件中进行传递
- 调度器:一个队列,存放引擎发送过来的requests请求
- 下载器:下载引擎发送过来的requests,并把响应发还给引擎
- spider:把引擎发送过来的response进行解析,提取url,并把结果交还给引擎
- 管道:处理引擎发送过来的数据,例如数据的存储
- 下载中间件:自定义下载扩展,例如设置代理,cookies
- 爬虫中间件:自定义requests和进行response的过滤
- 调度中间件:介于引擎和调度器之间,从引擎发送到调度的请求和响应。
scrapy的工作流程
- 首先爬虫将需要发送请求的url经过引擎传递给调度器
- 调度器将url进行排序,入队等一系列处理后,经引擎,下载中间件传递给下载器
- 下载器向web服务器发起http请求,并接收下载响应,将响应经引擎,爬虫中间件传递给爬虫
- 爬虫处理响应,提取页面数据并将数据经引擎传递给管道进行数据的下一步处理,例如数据的过滤,去重,存储
- 提取新的url重新经引擎交给调度器进行下一个循环,直到没有待爬取的url为止。
that's all