Scrapy爬蟲框架介紹

2021-10-04 21:24:03 字數 2243 閱讀 1023

爬蟲框架是實現爬蟲功能的乙個軟體結構和功能元件集合。

爬蟲框架是乙個半成品,能夠幫助使用者實現專業網路爬蟲。

五個模組:

spiders(爬蟲):解析**********產生的相應(response),產生爬取項item,產生額外的爬取請求(requests)

scheduler(排程器):負責對爬取請求進行排程管理(可能同時有多個爬蟲請求)

engine(引擎):控制所有模組之間的資料流,根據條件觸發事件,負責其他四個模組之間的訊息與資料的傳送

item pipelines(管道):流水線方式處理spiders產生的爬取項;由一組操作順序組成,每個操作是乙個item pipelines型別

可能操作包括:清理、檢驗和查重爬取項中的html資料、將資料儲存到資料庫

兩個中介軟體(middlewares):(使用者可以編寫配置**)

spider middleware:enging和spiders之間,對請求和爬取項的再處理

修改、丟棄、新增請求或爬取項

********** middleware:enging和**********之間,實施engine、scheduler和**********之間進行使用者可配置的控制

修改、丟棄、新增請求或響應

首先,spiders傳送的requests通過engine傳送給scheduler(1—2—3):

spiders傳送requests,engine獲得了spiders傳送的requests訊息(爬取使用者的請求,可以理解為乙個url);

engine將requests請求**給scheduler

其次(4—5—6):

scheduler通過engine將requests傳送給**********,**********返回response訊息,通過engine傳送給spiders

最後,spiders通過engine將爬取的內容送到item pipelines以及scheduler(7—8):

spiders將解析的內容送給engine,engine將兩部分分別送給item pipelines和scheduler

item為要爬取的內容;送給scheduler的requests為需要繼續跟進的內容

總得來說,整個執行過程從向engine傳送第乙個請求開始,到獲得所有鏈結的內容,並將內容處理後放到item pipelines為止。

使用者通過spiders請求要爬取的網頁;scheduler對請求進行排程;**********通過網際網路爬取所需要的網頁,並返回給spiders;spiders進行解析,提取所需的資料,並傳送新的請求。

由於在這個框架下,使用者編寫的不是完整的所有**,而僅僅是對spiders和item pipelines 已有的**框架進行編寫,所以將這種**編寫方式叫做配置。相當於使用者在scrapy框架下進行簡單的配置就可以實現相應的爬蟲功能。

使用者需要關心的就是爬取的內容,即spiders的編寫;獲得item pipelines後的資料處理。

相同點:

兩者都可以進行頁面請求和爬取,python爬蟲的兩個重要技術路線。

兩者可用性都好,文件豐富,入門簡單。

兩者都沒有處理js、提交表單、應對驗證碼等功能(可擴充套件)。

不同點:

1.scrapy是為持續執行設計的專業爬蟲框架,提供操作的命令列。

2.常用命令介紹

常用的三個命令:startproject、genspider和crawl

Scrapy爬蟲框架介紹

scrapy是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。可以應用在包括資料探勘,資訊處理或儲存歷史資料等一系列的程式中。其最初是為了 頁面抓取 更確切來說,網路抓取 所設計的,也可以應用在獲取api所返回的資料 例如 amazon associates web services 或者通用的...

python爬蟲框架scrapy介紹

scrapy,python開發的乙個快速,高層次的螢幕抓取和web抓取框架,用於抓取web站點並從頁面中提取結構化的資料。scrapy用途廣泛,可以用於資料探勘 監測和 自動化測試。scrapy吸引人的地方在於它是乙個框架,任何人都可以根據需求方便的修改。它也提供了多種型別爬蟲的基類,如basesp...

爬蟲之Scrapy框架介紹

scrapy是用純python實現乙個為了爬取 資料 提取結構性資料而編寫的應用框架,用途非常廣泛。框架的力量,使用者只需要定製開發幾個模組就可以輕鬆的實現乙個爬蟲,用來抓取網頁內容以及各種,非常之方便。scrapy engine 引擎 用來處理整個系統的資料流處理,觸發事務 框架核心 schedu...