博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scrapy爬虫框架补充内容一(Linux环境)【Scrapy爬虫框架结构及工作原理】
阅读量:4972 次
发布时间:2019-06-12

本文共 1046 字,大约阅读时间需要 3 分钟。

Scrapy爬虫框架结构及工作原理详解


 

scrapy框架的框架结构如下:

组件分析:

ENGINE:(核心):处理整个框架的数据流,各个组件在其控制下协同工作

SCHEDULER(调度器):负责接收引擎发送来的请求,并压入队列,在引擎再次请求时返回

SPIDER(蜘蛛):负责从网页中提取指定的信息,即item并产生对新页面的下载请求

DOWNLOADER(下载器):用于下载网页内容(即发送HTTP请求/接受HTTP请求)并将内容返回给ENGINE

ITEM PIPELINES(项目管道):主要对爬取到的数据进行处理(去重、过滤、清洗),最终保存数据

DOWNLOADER MIDDLEWARES(下载中间件):位于ENGINE和DOWNLOADER中间,处理请求和响应(该组件是反反爬虫的重点)

SPIDER MIDDLEWARES(爬虫中间件):位于SPIDER和ENGINE中间,处理蜘蛛的请求和响应


数据流对象分析:(主要有三)

(1)REQUEST:scrapy中的hettp请求对象

(2)RESPONSE:scrapy中的http响应对象

(3)ITEM:页面爬取到的数据


 工作原理:

(1)、Spiders发送第一个URL给引擎

(2)、引擎从Spider中获取到第一个要爬取的URL后,在调度器(Scheduler)以Request调度

(3)、调度器把需要爬取的request返回给引擎

(4)、引擎将request通过下载中间件发给下载器(Downloader)去互联网下载数据

(5)、一旦数据下载完毕,下载器获取由互联网服务器发回来的Response,并将其通过下载中间件发送给引擎

(6)、引擎从下载器中接收到Response并通过Spider中间件发送给Spider处理

(7)、Spider处理Response并从中返回匹配到的Item及(跟进的)新的Request给引擎

(8)、引擎将(Spider返回的)爬取到的Item给Item Pipeline做数据处理或者入库保存,将(Spider返回的)Request给调度器入队列

(9)、重复第(3)步循环运行直至SCHCULAR中没有REQUEST为止


 总结:这章我们学习了整个scrapy框架的结构及工作原理,小伙伴们清楚了吗?(刚全宿舍去看了复联3,突然发现灭霸并没有那么坏!雷神真tm叼!)

转载于:https://www.cnblogs.com/518894-lu/p/9033924.html

你可能感兴趣的文章
codeforces1101D GCD Counting 【树形DP】
查看>>
Delphi 获取命令行输出的函数
查看>>
面向对象六大原则
查看>>
2-常见机器学习模型总结
查看>>
centos7 安装搜狗输入法
查看>>
本日进度3
查看>>
PyCharm下创建并运行我们的第一个Django项目
查看>>
第十九篇 同源策略与Jsonp
查看>>
python3 调用 Linux 脚本
查看>>
Jquery选中行实现行中的Checkbox的选中与取消选中
查看>>
绘制矩形
查看>>
redis优化
查看>>
vi编辑器的使用(1)
查看>>
微信开发--入门(一)
查看>>
防反编译、混淆文件proguard.cfg与proguard-project.txt详解
查看>>
HTML 第十三章总结
查看>>
2016.12.04软件更新公告
查看>>
深度学习的一些代码
查看>>
在Java窗体表格中插入复选框
查看>>
1230递归下降语法分析程序设计
查看>>