91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scrapy框架使用的基本知識

發布時間:2020-08-24 22:19:38 來源:腳本之家 閱讀:133 作者:回憶不說話 欄目:開發技術

scrapy是一個基于Twisted的異步處理框架,可擴展性很強。優點此處不再一一贅述。

下面介紹一些概念性知識,幫助大家理解scrapy。

一、數據流向

要想熟練掌握這個框架,一定要明白數據的流向是怎么一個過程。總結如下:

1.引擎先打開網站,請求url。

2.引擎通過調度器以Request形式調度url。

3.引擎請求下一個url。

4.調度器將url通過Downloader Middlewares發送給引擎

5.Downloader 生成response,通過Downloader Middlewares發送給引擎

6.引擎接收Response 通過spiderMiddleware發送給spider處理

7.spider處理response

8.引擎將spider處理的item給ItemPipeline 然后將新的Request給調度器。

二、各個結構的作用

DownloderMiddleware

調度器會從隊列之中拿出Request發送給Downloader執行下載,這個過程會經過DownloaderMiddleware的處理。

作用的位置有兩個:

  • 在調度器調出Request發送給Downloader之前。
  • 下載之后生成Response發送給spider之前。

核心方法有三個:

process_request(request,spider)

Request 到達Downloader之前,就會被調用

參數介紹:

  •          request :Request對象,被處理的Request。
  •          spider:spider對象,上面被處理的Request對應的spider。

返回值:

1.返回None 調用別的process_request()方法,直至將Request執行得到Response才會結束。

2.返回Response對象,低優先級的process_request()process_exception不調用。

3.返回request對象,低優先級的process_request()停止執行,返回新的Request

process_response(request,response,spider)

作用位置:

  • Downloader 執行Request之后,會得到對應的Reponse ,scrapy 引擎會將Response發送給spider進行解析,發送之前調用這個方法對Response進行處理。

返回值的情況:

1.返回Request低優先級的process_respons()不調用。

2.返回response低優先級的process_respons()繼續調用。

process_exception(request,exception,spider)

此函數主要是用來處理異常的。

spiderMiddleware

作用位置:

  • Downloader生成Response之后會發送給spider,
  • 在發送之前,會經過spiderMiddleware處理。

核心方法:

process_soider_input(response,spider)

返回值:

1.返回None

 繼續處理Response,調用所有的spiderMiddleware,知道spider處理

2.跑出異常

直接調用Request的errback()方法,使用process_spider_output()處理。

process_spider_output(response,result,spider)

當spider處理Response返回結果時,被調用。

process_spider_exception(response,exception,spider)

返回值:none

繼續處理response,返回一個可迭代對象,process_spider_output()方法被調用。

process_start_request(start_requests,spider)

spider啟動的Request為參數被調用,必須返回request

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元江| 渝中区| 沾化县| 恩平市| 潢川县| 棋牌| 梁平县| 依兰县| 武功县| 内黄县| 仁布县| 宁蒗| 康平县| 新昌县| 南华县| 新乐市| 宜黄县| 贵溪市| 大关县| 武夷山市| 板桥市| 丰县| 古交市| 喀喇沁旗| 凤阳县| 得荣县| 车致| 新宾| 民丰县| 梧州市| 乃东县| 安塞县| 临夏县| 新化县| 女性| 安福县| 新巴尔虎右旗| 安乡县| 涿州市| 灵寿县| 海南省|