Python爬虫-scrapy五大核心组件
从中可以看出Engine类似于总指挥。
- Spiders向Engine提交Requests。
- Engine将Requests交给Scheduler进行过滤重复请求等操作。
- Scheduler返回新的Requests给Engine。
- Engine将Requests交给Downloader
- Downloader从网上下载好内容封装成Response返回给Engine。
- Engine将Response交给Spiders进行数据解析处理,得到Item或进一步提交Requests。但最终是要yield item交给Engine。
- Engine将item交给Item Piplines进行数据持久化存储。
图中有两个Middlewares,从④⑤⑥中可看出Requests和Responses会经过Middleware,则可在Middleware中对Requests或Responses进行修改。如Requests中修改headers或者添加代理IP等。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Silent Wittgenstein!