基於Scrapy爬蟲框架的執行原理

2021-10-03 16:44:47 字數 1254 閱讀 8514

scrapy是乙個非常強大的第三方庫,也是乙個提高爬蟲效率的框架,入門較難。

框架內部包含模組可以描述為「5+2」模組,包含:

spiders,

item piplines

engine

scheduler

**********

而engine和spiders,**********之間包含了兩個中間鍵模組,因此叫「5+2」模組。

從spider經過engine到達scheduler,其中engine從spider中獲得請求,可簡單理解為乙個url,所以可以理解為engine負責排程,第二主要資料路徑為schduler通過engine傳送給**********,最終返回spider模組。

在第二資料流中,scheduler傳送到engine再到**********模組的資料是真實的,也就是說要到網路上傳送請求的,**********模組拿到請求後連線網際網路,並爬取相關網頁,獲得的內容生成乙個物件,該物件名為相應(response),該相應通過engine傳送給spider.

第三個資料流:spider模組經過engine,到達item piplelines和scheduler兩個模組,spider處理從**********獲得的相應,也就是網路中的資料內容,處理後產生兩個資料型別,乙個為爬取項,乙個為新的爬取請求,也就是說我們從網路上或區內容後,如果網路中也有我們感興趣的鏈結,可以在spider中增加功能,進行新的爬取,這兩個資料型別傳送給engine,而engine將其中的item傳送給item pipelines,而其中的request傳送給scheduler進行排程,為後期資料處理以及再次啟動網路爬蟲提供資料**。

engine對這幾個模組進行排程,並且不斷接收從schduler真實爬取請求,並傳送給**********,整個框架執行為向engine傳送第乙個請求開始到獲得所有鏈結內容並處理後放到item pipelines為止。

其中engine,scheduler,**********三個模組為已有的功能模組,不需要編寫,使用者需要編寫的是item pipelines和spiders兩個模組

其中spider用來向整個框架提供要訪問的url鏈結以及解析網路上獲得的頁面內容

而item pipelines則是為獲得資訊後處理

綜上三個資料流可以表示為:

spiders>>>>engine>>>>scheduler>>>>>>>>>>>>>engine>>>>>>>>>**********>>>>>>>engine>>>>>spiders>>>>>>>>>>engine>>>>item pipelines, scheduler.

Scrapy爬蟲框架下執行爬蟲的方法

在使用scrapy框架進行爬蟲時,執行爬蟲檔案的方法是 scrapy crawl 其中 是爬蟲檔名。但是,當我們在建立了多個檔案時,使用上面的命令時會比較繁瑣麻煩,我們就可以使用下述方法同時完成爬蟲檔案的執行。第一種,在scrapy框架下建立乙個執行檔案,如 run.py 在檔案中建立乙個列表,列表...

基於Scrapy框架編寫爬蟲專案

知識點 2種安裝模組的方式。以下兩種方式可以安裝絕大部分模組,網路安裝 指直接在控制台 pip install xx 第6條,配置過程 1.複製 f 程式設計 python lib site packages pywin32 system32 下的兩個.dll檔案 2.貼上到 c windows s...

基於scrapy框架的爬蟲專案(一)

skr pi 一 參考資料 1.官方中文文件 2.簡單易操作的爬蟲框架 simplified scrapy 3.爬蟲框架scrapy的安裝與基本使用 二 simplified scrapy的使用方法 1.匯入simplified scrapy包 pip install simplified scra...