最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬蟲基礎(chǔ)之簡單說一下scrapy的框架結(jié)構(gòu)

 更新時間:2021年06月25日 15:14:58   作者:松鼠愛吃餅干  
今天給大家?guī)淼氖顷P(guān)于Python爬蟲的相關(guān)知識,文章圍繞著scrapy的框架結(jié)構(gòu)展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下

scrapy 框架結(jié)構(gòu)

思考

  • scrapy 為什么是框架而不是庫?
  • scrapy是如何工作的?

項目結(jié)構(gòu)

在開始爬取之前,必須創(chuàng)建一個新的Scrapy項目。進(jìn)入您打算存儲代碼的目錄中,運行下列命令:

注意:創(chuàng)建項目時,會在當(dāng)前目錄下新建爬蟲項目的目錄。

這些文件分別是:

  • scrapy.cfg:項目的配置文件
  • quotes/:該項目的python模塊。之后您將在此加入代碼
  • quotes/items.py:項目中的item文件
  • quotes/middlewares.py:爬蟲中間件、下載中間件(處理請求體與響應(yīng)體)
  • quotes/pipelines.py:項目中的pipelines文件
  • quotes/settings.py:項目的設(shè)置文件
  • quotes/spiders/:放置spider代碼的目錄

Scrapy原理圖

各個組件的介紹

1.Engine。引擎,處理整個系統(tǒng)的數(shù)據(jù)流處理、觸發(fā)事務(wù),是整個框架的核心。

2.ltem。項目,它定義了爬取結(jié)果的數(shù)據(jù)結(jié)構(gòu),爬取的數(shù)據(jù)會被賦值成該ltem對象。

3.Scheduler。調(diào)度器,接受引擎發(fā)過來的請求并將其加入隊列中,在引擎再次請求的時候?qū)⒄埱筇峁┙o引擎。

4.Downloader。下載器,下載網(wǎng)頁內(nèi)容,并將網(wǎng)頁內(nèi)容返回給蜘蛛。

5.Spiders。蜘蛛,其內(nèi)定義了爬取的邏輯和網(wǎng)頁的解析規(guī)則,它主要負(fù)責(zé)解析響應(yīng)并生成提結(jié)果和新的請求。

6.Item Pipeline。項目管道,負(fù)責(zé)處理由蜘蛛從網(wǎng)頁中抽取的項目,它的主要任務(wù)是清洗、驗證和存儲數(shù)據(jù)。

7.Downloader Middlewares。下載器中間件,位于引擎和下載器之間的鉤子框架,主要處理引擎與下載器之間的請求及響應(yīng)。

8.Spider Middlewares。蜘蛛中間件,位于引擎和蜘蛛之間的鉤子框架,主要處理蜘蛛輸入的響應(yīng)和輸出的結(jié)果及新的請求。

數(shù)據(jù)的流動

  • Scrapy Engine(引擎):負(fù)責(zé)Spider、ltemPipeline、Downloader、Scheduler中間的通訊,信號、數(shù)據(jù)傳遞等。
  • Scheduler(調(diào)度器):負(fù)責(zé)接受引擎發(fā)送過來的Request請求,并按照一定的方式進(jìn)行整理排列,入隊,當(dāng)引擎需要時,交還給引擎。
  • Downloader(下載器):負(fù)責(zé)下載Scrapy Engine(引擎)發(fā)送的所有Requests請求,并將其獲取到的Responses交還給Scrapy Engine(引擎),由引擎交給Spider來處理,
  • Spider(爬蟲)︰負(fù)責(zé)處理所有Responses,從中分析提取數(shù)據(jù),獲取ltem字段需要的數(shù)據(jù),并將需要跟進(jìn)的URL提交給引擎,再次進(jìn)入Scheduler(調(diào)度器),
  • ltem Pipeline(管道):負(fù)責(zé)處理Spider中獲取到的ltem,并進(jìn)行進(jìn)行后期處理(詳細(xì)分析、過濾、存儲等)的地方.
  • Downloader Middlewares(下載中間件):你可以當(dāng)作是一個可以自定義擴展下載功能的組件。
  • Spider Middlewares(Spider中間件):你可以理解為是一個可以自定擴展和操作引擎和Spider中間通信的功能組件(比如進(jìn)入Spider的Responses;和從Spider出去的Requests)

到此這篇關(guān)于Python爬蟲基礎(chǔ)之簡單說一下scrapy的框架結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)scrapy的框架結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python學(xué)習(xí)實操案例(五)

    python學(xué)習(xí)實操案例(五)

    這篇文章主要介紹了pyth學(xué)習(xí)實操案例,主要分享的小練習(xí)有我的咖啡館你做主、顯示2019中超聯(lián)賽中前五名排行、模擬手機通訊錄,適合初學(xué)者,需要的小伙伴可以參考一下
    2022-02-02
  • Protocol Buffers(Protobuf)功能及使用方法

    Protocol Buffers(Protobuf)功能及使用方法

    本文介紹了ProtocolBuffers(Protobuf)及其編譯器protoc,包括其數(shù)據(jù)描述語言的特性、編譯器的功能、.proto文件的定義、使用方法、支持的編程語言、安裝步驟、常用命令選項以及高級功能,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • JupyterLab遠(yuǎn)程密碼訪問實現(xiàn)

    JupyterLab遠(yuǎn)程密碼訪問實現(xiàn)

    本文主要介紹了JupyterLab遠(yuǎn)程密碼訪問實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python安裝whl包并解決依賴關(guān)系的實現(xiàn)

    python安裝whl包并解決依賴關(guān)系的實現(xiàn)

    本文主要介紹了python安裝whl包并解決依賴關(guān)系的實現(xiàn),文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 使用Python制作一個簡易的遠(yuǎn)控終端

    使用Python制作一個簡易的遠(yuǎn)控終端

    這篇文章主要為大家詳細(xì)介紹了如何使用Python語言制作一個簡易的遠(yuǎn)控終端,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的可以了解一下
    2023-04-04
  • python實現(xiàn)超市進(jìn)銷存管理系統(tǒng)

    python實現(xiàn)超市進(jìn)銷存管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)超市進(jìn)銷存管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Python實現(xiàn)微信好友數(shù)據(jù)爬取及分析

    Python實現(xiàn)微信好友數(shù)據(jù)爬取及分析

    這篇文章會基于Python對微信好友進(jìn)行數(shù)據(jù)分析,這里選擇的維度主要有:性別、頭像、簽名、位置,主要采用圖表和詞云兩種形式來呈現(xiàn)結(jié)果,其中,對文本類信息會采用詞頻分析和情感分析兩種方法,感興趣的小伙伴可以了解一下
    2021-12-12
  • Python實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼(支持多人聊天與私聊)

    Python實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼(支持多人聊天與私聊)

    這篇文章主要介紹了Python實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼(支持多人聊天與私聊),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python簡單圖片操作:打開\顯示\保存圖像方法介紹

    python簡單圖片操作:打開\顯示\保存圖像方法介紹

    這篇文章主要介紹了python簡單圖片操作:打開\顯示\保存圖像方法介紹,還涉及將圖片保存為灰度圖的簡單方法示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 通過?for?循環(huán)比較?Python?與?Ruby?的編程區(qū)別

    通過?for?循環(huán)比較?Python?與?Ruby?的編程區(qū)別

    這篇文章主要介紹了通過?for?循環(huán)比較?Python?與?Ruby?的編程區(qū)別,Ruby?與?Python?之間的差異在很大程度上可通過for循環(huán)看出本質(zhì),下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-05-05

最新評論

莲花县| 临朐县| 磐石市| 大厂| 巴里| 澳门| 曲阜市| 加查县| 武定县| 清水河县| 霸州市| 锦州市| 永丰县| 余江县| 蚌埠市| 都昌县| 朝阳区| 黑水县| 洪泽县| 五峰| 宜川县| 巴马| 夏邑县| 寿阳县| 永昌县| 德化县| 田阳县| 于田县| 长岛县| 乡城县| 鄂托克旗| 萨嘎县| 漳平市| 泌阳县| 高清| 土默特右旗| 呼伦贝尔市| 岱山县| 方正县| 汶上县| 靖宇县|