爬虫中间件和下载中间件, 作用分别是什么

爬虫中间件和下载中间件, 作用分别是什么

爬虫中间件和下载中间件, 作用分别是什么

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕美 2021-09-05 18:31:50

同学,你好!

爬虫中间件Spider Middleware:主要功能是在爬虫运行过程中进行一些处理。主要用于处理Spider的Responses和Requests

​下载器中间件Downloader Middleware:主要功能在请求到网页后,页面被下载时进行一些处理。主要用于处理Scrapy引擎与下载器之间的请求及响应。 

https://img1.sycdn.imooc.com//climg/61349bad093ca4d805510399.jpg

Scrapy Engine(引擎):用来处理整个系统的数据传递,是整个系统的核心部分。

Scheduler(调度器):用来接受引擎发过来的Request请求, 压入队列中, 并在引擎再次请求的时候返回。

Downloader(下载器):用于引擎发过来的Request请求对应的网页内容, 并将获取到的Responses返回给Spider。

Item Pipeline(管道):负责处理Spider中获取的实体,对数据进行清洗,保存所需的数据。 Downloader

Middlewares(下载器中间件):主要用于处理Scrapy引擎与下载器之间的请求及响应。

SpiderMiddlewares(爬虫中间件):主要用于处理Spider的Responses和Requests

祝学习愉快!

  • 提问者 大可计划 #1

    ​爬虫中间件和下载中间件, 在工作中的应用, 分别有哪些

    2021-09-06 17:47:57
  • 好帮手慕美 回复 提问者 大可计划 #2

    同学,你好!使用scrapy框架时项目在执行过程中都会用到这两个中间件,

    Scheduler调度器从队列中拿出一个Request发送给Downloader执行下载,这个过程会经过DownloaderMiddleware的处理,另外,当Downloader将Response返回给Spider时会再次经过DownloadederMiddleware处理。

    当Downloader生成Response之后,Response会被发送到Spider,在发送给Spider之前,Response会首先经过Spider Middleware处理,当Spider处理生成Item和Request之后,Item和Request还会经过Spider Middleware的处理

    ​祝学习愉快!

    2021-09-06 18:30:12
  • 提问者 大可计划 回复 好帮手慕美 #3

    我的意思是, 比如,

    修改User-Agent, 下载图片, 用Selemium获取cookie, 都会写在下载中间件中
    这两种中间件, 还有哪些功能代码, 会分别写到哪个中间件中去

    2021-09-07 16:33:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师