scrapy框架介紹

2022-08-11 03:18:19 字數 1193 閱讀 6394

scrapy乙個開源和協作的框架,其最初是為了頁面抓取 (更確切來說, 網路抓取 )所設計的,使用它可以以快速、簡單、可擴充套件的方式從**中提取所需的資料。但目前scrapy的用途十分廣泛,可用於如資料探勘、監測和自動化測試等領域,也可以應用在獲取api所返回的資料(例如 amazon associates web services ) 或者通用的網路爬蟲。     scrapy 是基於twisted框架開發而來,twisted是乙個流行的事件驅動的python網路框架。因此scrapy使用了一種非阻塞(又名非同步)的**來實現併發。整體架構大致如下

引擎(egine)引擎負責控制系統所有元件之間的資料流,並在某些動作發生時觸發事件。有關詳細資訊,請參見上面的資料流部分。

排程器(scheduler)

用來接受引擎發過來的請求, 壓入佇列中, 並在引擎再次請求的時候返回. 可以想像成乙個url的優先順序佇列, 由它來決定下乙個要抓取的**是什麼, 同時去除重複的**

爬蟲(spiders)

spiders是開發人員自定義的類,用來解析responses,並且提取items,或者傳送新的請求

專案管道(item piplines)

在items被提取後負責處理它們,主要包括清理、驗證、持久化(比如存到資料庫)等操作

更改在將其傳遞給爬行器之前接收到響應

傳送新請求,而不是將接收到的響應傳遞給爬行器

在不獲取web頁面的情況下將響應傳遞給爬行器

悄悄地刪除一些請求

爬蟲中介軟體(spider middlewares)

位於egine和spiders之間,主要工作是處理spiders的輸入(即responses)和輸出(即requests)

pip install scrapy

Scrapy框架介紹

scrapy不是乙個函式功能庫,而是乙個 爬蟲框架 什麼是爬蟲框架?爬蟲框架是實現爬蟲功能的乙個軟體結構和功能元件集合。爬蟲框架是乙個半成品,能夠幫助使用者實現專業網路爬蟲 引擎負責控制資料流在系統中所有元件中流動,並在相應動作發生時觸發事件。詳細內容檢視下面的資料流 data flow 部分此元件...

Scrapy框架介紹

scrapy引擎 控制整個系統的資料處理流程,觸發事務處理流程,負責串聯各個模組 item pipeline 專案管道 處理由蜘蛛 spiders 從網頁中抽取的資料,主要任務是清洗 驗證 過濾 去重和儲存資料等。專案 item 它定義了爬取結果的資料結構,爬取的資料會被賦值成該物件。通過多個元件的...

Scrapy爬蟲框架介紹

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