【Python爬虫学习】九、Scrapy爬虫框架
沿着1至8顺序理解其工作流程

Scrapy爬虫框架结构5+2

  • Enging:(相当于发动机)

整个框架的核心,控制所有模块的数据流,任何模块与模块之间的数据流动都要经过Enging模块的调度
根据各个模块提供的事件进行触发
不需要用户修改

  • Downloader

根据用户提供的请求下载网页,功能只是获得一个请求,并向网络中提交请求,最终获得返回的相关内容
不需要用户修改

  • Scheduler

对所有的爬取请求进行调度管理
不需要用户修改

  • Scheduler+Enging+Downloader

由Scheduler发送访问请求,经过Enging到达Downloader

  • Enging+Downloader之间 中间件Downloader Middleware

实施Scheduler、Enging和Downloader之间进行用户可配置的控制,用户可以通过编写中间件,修改、丢弃、新增请求或响应

  • Spiders

解析Downloader返回的响应(Response)
产生爬起项(scraped item)
产生额外的爬取请求(Request)
用户主要编写该模块代码

  • Item Popelines:

以流水线方式处理Spider产生的爬取项
由一组操作顺序组成,类似流水线,每个操作是一个Item Pipeline类型
可能操作包括:清理、检验和查重爬取项中的HTML数据、将数据存储到数据库
需要用户编写配置代码

  • Spiders+Enging 之间 中间件:Spider Middleware:

对请求和爬取项的再处理
修改、丢弃、新增请求或爬取项

用户重点编写Spiders模块和Item Popelines模块,以及两个中间件对数据流进行控制和操作
沿着1至8顺序理解其工作流程​​​​​​​

 

Requests和Scrapy比较:

相同点:

【Python爬虫学习】九、Scrapy爬虫框架

不同点:

【Python爬虫学习】九、Scrapy爬虫框架

Scrapy常用命令:

scrapy -h 启动scrapy命令行

【Python爬虫学习】九、Scrapy爬虫框架

相关文章:

  • 2018-02-02
  • 2021-10-04
  • 2021-12-20
  • 2021-11-20
  • 2021-07-24
  • 2021-12-25
  • 2021-10-04
  • 2021-08-24
猜你喜欢
  • 2021-12-29
  • 2021-04-27
  • 2021-11-09
  • 2021-10-17
  • 2021-11-07
  • 2021-08-21
  • 2021-12-25
相关资源
相似解决方案