欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python的Scrapy框架解析

 更新時(shí)間:2021年12月22日 15:06:25   作者:生生世世酒  
這篇文章主要為大家介紹了Python的Scrapy框架解析 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

一.為什么使用Scrapy框架?

Scrapy是一個(gè)快速、高層次的屏幕抓取和web抓取的框架,可用于數(shù)據(jù)挖掘、監(jiān)測(cè)和自動(dòng)化檢測(cè),任何人都可以根據(jù)需要去進(jìn)行修改。

二.Scrapy框架每個(gè)組件介紹

1.Scrapy引擎(Scrapy Engine):負(fù)責(zé)控制數(shù)據(jù)流在系統(tǒng)的所以組件中的流動(dòng),并在相應(yīng)動(dòng)作發(fā)生時(shí)觸發(fā)事件。

2.調(diào)度器(Scheduler):從引擎接受reques并將其入隊(duì),便于以后請(qǐng)求它們提供給引擎。

3.下載器(Downloader):負(fù)責(zé)獲取網(wǎng)頁(yè)數(shù)據(jù)并且提供給引擎,然后提供給Spider。

4.Spiders: 指Scrapy用戶編寫用于分析response并且提取item或額外跟進(jìn)的URL類人。每個(gè)Spider負(fù)責(zé)處理一些特定網(wǎng)站。

5.Item Pipeline:負(fù)責(zé)處理被Spider提取出來的item。典型的處理有清潔、驗(yàn)證及持久化

6.下載器中間件(Downloader Middlewares):指在引擎及下載器之間的特定鉤子(specific hook),處理Downloader 傳遞給引擎的response。它提供一個(gè)簡(jiǎn)便的機(jī)制,通過插入自定義代碼來擴(kuò)展Scrapy功能。

7.Spiders中間件(Spider Middlewares):指在引擎及Spider之間的特定鉤子(specific hook),處理Spider 的輸入(response)和輸出(itemsrequests)。它提供一個(gè)簡(jiǎn)便的機(jī)制,通過插入自定義代碼來擴(kuò)展Scrapy功能。

三.Scrapy框架工作原理

è?é?????è?°

1.引擎向spider要URL

2.引擎將要爬取的URL給調(diào)度器

3.調(diào)度器會(huì)將URL生成請(qǐng)求對(duì)象放入指定的隊(duì)列中

4.從隊(duì)列中出隊(duì)一個(gè)請(qǐng)求

5.引擎將請(qǐng)求交給下載器進(jìn)行處理

6.下載器發(fā)送請(qǐng)求獲取互聯(lián)網(wǎng)數(shù)據(jù)

7.下載器將數(shù)據(jù)返回給引擎

8.引擎將數(shù)據(jù)再次給到spiders

9.spiders通過xpath解析該數(shù)據(jù),得到數(shù)據(jù)或URL

10.spiders將數(shù)據(jù)或URL給到引擎

11.引擎判斷該數(shù)據(jù)是URL還是數(shù)據(jù),交給管道處理,URL交給調(diào)度器處理

12.當(dāng)調(diào)度器里沒有任何數(shù)據(jù)之后,整個(gè)程序停止

下面是我根據(jù)工作原理畫的可以結(jié)合去看:

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Django drf使用Django自帶的用戶系統(tǒng)的注冊(cè)功能

    Django drf使用Django自帶的用戶系統(tǒng)的注冊(cè)功能

    本文主要介紹了Django drf使用Django自帶的用戶系統(tǒng)的注冊(cè)功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python輸入錯(cuò)誤密碼用戶鎖定實(shí)現(xiàn)方法

    python輸入錯(cuò)誤密碼用戶鎖定實(shí)現(xiàn)方法

    這篇文章主要介紹了python輸入錯(cuò)誤密碼用戶鎖定實(shí)現(xiàn)方法以及代碼實(shí)現(xiàn)過程,一起參考一下。
    2017-11-11
  • Python對(duì)HTML轉(zhuǎn)義字符進(jìn)行反轉(zhuǎn)義的實(shí)現(xiàn)方法

    Python對(duì)HTML轉(zhuǎn)義字符進(jìn)行反轉(zhuǎn)義的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python對(duì)HTML轉(zhuǎn)義字符進(jìn)行反轉(zhuǎn)義的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python實(shí)現(xiàn)不同文件夾下的函數(shù)相互調(diào)用

    python實(shí)現(xiàn)不同文件夾下的函數(shù)相互調(diào)用

    這篇文章主要介紹了python實(shí)現(xiàn)不同文件夾下的函數(shù)相互調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Vue的el-scrollbar實(shí)現(xiàn)自定義滾動(dòng)

    Vue的el-scrollbar實(shí)現(xiàn)自定義滾動(dòng)

    本篇文章給大家分享了Vue的el-scrollbar實(shí)現(xiàn)自定義滾動(dòng)實(shí)現(xiàn)的過程和實(shí)例代碼,對(duì)此有需要的朋友可以參考下。
    2018-05-05
  • Python基礎(chǔ)教程之NumPy庫(kù)的使用詳解

    Python基礎(chǔ)教程之NumPy庫(kù)的使用詳解

    NumPy(Numerical Python)是一個(gè)用于處理數(shù)組的Python庫(kù),學(xué)習(xí)機(jī)器學(xué)習(xí)的過程中先學(xué)會(huì)使用NumPy是非常重要的,所以本文就給大家詳細(xì)介紹一下如何使用NumPy庫(kù),需要的小伙伴跟著小編一起來看看吧
    2023-07-07
  • TCP協(xié)議用在python和wifi模塊之間詳解

    TCP協(xié)議用在python和wifi模塊之間詳解

    這篇文章主要介紹了TCP協(xié)議用在python和wifi模塊之間詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python進(jìn)程間通信方式

    Python進(jìn)程間通信方式

    這篇文章主要介紹了Python進(jìn)程間通信方式,進(jìn)程彼此之間互相隔離,要實(shí)現(xiàn)進(jìn)程間通信,主要通過隊(duì)列方式,下文更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • PyCharm使用技巧之設(shè)置背景圖片方式

    PyCharm使用技巧之設(shè)置背景圖片方式

    這篇文章主要介紹了PyCharm使用技巧之設(shè)置背景圖片方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Python列表和集合的效率大比拼

    Python列表和集合的效率大比拼

    程序的運(yùn)行效率分為兩種:第一種是時(shí)間效率,第二種是空間效率,這篇文章主要介紹了Python列表和集合的效率對(duì)比,需要的朋友可以參考下
    2022-07-07

最新評(píng)論