10 scrapy框架解读--深入理解爬虫原理
来源:互联网 发布:淘宝大号怎么关联小号 编辑:程序博客网 时间:2024/06/05 19:33
scrapy框架结构图:
组成部分介绍:
Scrapy Engine:
负责组件之间数据的流转,当某个动作发生时触发事件Scheduler:
接收requests,并把他们入队,以便后续的调度Downloader:
负责抓取网页,并传送给引擎,之后抓取结果将传给spiderSpiders:
用户编写的可定制化的部分,负责解析response,产生items和URLItem Pipeline:
负责处理item,典型的用途:清洗、验证、持久化Downloader middlewares:
位于引擎和下载器之间的一个钩子,处理传送到下载器的requests和传送到引擎的response(若需要在Requests到达Downloader之前或者是responses到达spiders之前做一些预处理,可以使用该中间件来完成)Spider middlewares:
位于引擎和抓取器之间的一个钩子,处理抓取器的输入和输出
(在spiders产生的Items到达Item Pipeline之前做一些预处理或response到达spider之前做一些处理)
Scrapy中的数据流:
- Scrapy中的数据流由执行引擎控制,其过程如下:
- 引擎打开一个网站(open a domain),找到处理该网站的spider,并向该spider请求第一个要爬取的url(s);
- 引擎从spider中获取到第一个要爬取的url并在调度器(scheduler)以requests调度;
- 引擎向调度器请求下一个要爬取的url;
- 调度器返回下一个要爬取的url给引擎,引擎将url通过下载器中间件(请求requests方向)转发给下载器(Downloader);
- 一旦页面下载完毕,下载器生成一个该页面的responses,并将其通过下载器中间件(返回responses方向)发送给引擎;
- 引擎从下载器中接收到responses并通过spider中间件(输入方向)发送给spider处理;
- spider处理responses并返回爬取到的Item及(跟进的)新的resquests给引擎
- 引擎将(spider返回的)爬取到的Item给Item Pipeline,将(spider返回的)requests给调度器;
- (从第二部)重复直到(调度器中没有更多的request)引擎关闭该网站
中间件的编写:
down loader middle ware – 查看文档151页
spider middle wares – 查看文档162页
0 0
- 10 scrapy框架解读--深入理解爬虫原理
- Scrapy:Python的爬虫框架----原理介绍
- Python爬虫 scrapy框架 原理,scrapy开发流程
- 爬虫 scrapy 框架学习 1. Scrapy框架业务逻辑的理解 + 简单爬虫案例示范
- Windows 10 安装Scrapy 爬虫框架
- scrapy爬虫框架
- Scrapy爬虫框架入门
- Python 爬虫框架 scrapy
- 网络爬虫框架-Scrapy
- Scrapy爬虫框架笔记
- Scrapy - 爬虫框架
- 爬虫框架Scrapy
- 关于scrapy爬虫框架
- scrapy爬虫框架
- scrapy 爬虫框架
- Scrapy爬虫框架
- 爬虫框架scrapy安装
- Scrapy爬虫框架
- 身份验证正则表达式
- JAVA事务
- java.lang.IllegalArgumentException: No converter found for return value of type: class
- ProgressDialog简单封装
- 【交换安全】DAI - Dynamic ARP Inspection 详解
- 10 scrapy框架解读--深入理解爬虫原理
- Linux shell function call Sample
- Tomcat 7最大并发连接数的正确修改方法
- SystemUI浅析
- Java中的Random()函数
- js登录界面判断输入的用户名和密码是否为空
- Eclipse安装PMD插件
- 多媒体_创建图片副本
- Java输入输出流笔记