第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

最新Scrapy爬蟲數(shù)據(jù)流架構圖

標簽:
Python 爬蟲

下面分享下最新的Scrapy官网架构图,供各位参考。
图片描述

Scrapy中的数据流由执行引擎控制,如下所示:

  1. Engine获得从爬行器中爬行的初始请求。
  2. Engine在调度程序中调度请求,并请求下一次抓取请求。
  3. 调度程序将下一个请求返回到引擎。
  4. 引擎将请求发送到下载器,通过下载器中间件(请参阅process_request())。
  5. 页面下载完成后,下载器生成一个响应(带有该页面)并将其发送给引擎,通过下载器中间件(请参阅process_response())。
  6. 引擎从下载加载程序接收响应,并将其发送给Spider进行处理,并通过Spider中间件(请参阅process_spider_input())。
  7. Spider处理响应,并向引擎返回报废的项和新请求(要跟踪的),通过Spider中间件(请参阅process_spider_output())。
  8. 引擎将已处理的项目发送到项目管道,然后将已处理的请求发送到调度程序,并请求可能的下一个请求进行抓取。
  9. 这个过程重复(从第1步),直到调度程序不再发出请求。

Scrapy各组件介绍:

Scrapy引擎

引擎负责控制系统所有组件之间的数据流,并在某些操作发生时触发事件。

调度器 Scheduler

调度器接收来自引擎的请求,并对它们进行排队,以便在引擎请求它们时,将它们提供出来(也提供给引擎)。

下载器Downloader

下载器负责获取web页面并将其提供给引擎,而引擎又将这些页面提供给Spider。

spider

spider是由Scrapy用户编写的自定义类,用于解析响应并从其中提取项或其他请求。

Item Pipeline

Item Pipeline负责处理被Spider提取(或刮除)的条目。典型的任务包括清理、验证和持久性(比如将项目存储在数据库中)。

下载中间件)Downloader middlewares

Downloader中间件是位于引擎和下载器之间的特定钩子,当它们从引擎传递到下载器时,处理请求,以及从下载器传递到引擎的响应。
如果您需要执行以下操作之一,请使用下载器中间件:

  1. 在将请求发送到Downloader之前处理请求(即在Scrapy将请求发送到网站之前);
  2. 更改在传递给Spider之前收到响应;
  3. 发送一个新的请求,而不是将接收到的响应传递给爬行器;
  4. 将响应传递给Spider,而不获取web页面;
  5. 静静地丢掉一些请求。

spider中间件)Spider middlewares

Spider中间件是位于引擎和Spider之间的特定钩子,能够处理Spider输入(响应)和输出(项和请求)。
使用Spider中间件场景:

  1. Spider回调的后处理输出-更改/添加/删除请求或项;
  2. 后处理start_requests;
  3. 处理Spider异常;
  4. 对一些基于响应内容的请求调用errback而不是回调。

事件驱动的网络

Scrapy是基于用Python写的一个流行的事件驱动网络框架Twisted编写的。因此,它使用非阻塞(即异步)代码实现并发。

點擊查看更多內(nèi)容
7人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消