天天看點

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

一。scrapy結構資料

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

解釋:

1.名詞解析:

o 引擎(Scrapy Engine)

o 排程器(Scheduler)

o 下載下傳器(Downloader)

o 蜘蛛(Spiders)

o 項目管道(Item Pipeline)

o 下載下傳器中間件(Downloader Middlewares)

o 蜘蛛中間件(Spider Middlewares)

o 排程中間件(Scheduler Middlewares)

2.具體解析

綠線是資料流向

 從初始URL開始,Scheduler會将其交給Downloader進

行下載下傳

 下載下傳之後會交給Spider進行分析

 Spider分析出來的結果有兩種

 一種是需要進一步抓取的連結,如 “下一頁”的連結,它們

會被傳回Scheduler;另一種是需要儲存的資料,它們被送到Item Pipeline裡,進行

後期處理(詳細分析、過濾、存儲等)。

 在資料流動的通道裡還可以安裝各種中間件,進行必

要的處理。

二。初始化爬蟲架構 Scrapy

指令: scrapy startproject qqnews

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

ps:真正的項目是在spiders裡面寫入的

三。scrapy元件spider

爬取流程

1. 先初始化請求URL清單,并指定下載下傳後處

理response的回調函數。

2. 在parse回調中解析response并傳回字典,Item

對象,Request對象或它們的疊代對象。

3 .在回調函數裡面,使用選擇器解析頁面内容

,并生成解析後的結果Item。

4. 最後傳回的這些Item通常會被持久化到資料庫

中(使用Item Pipeline)或者使用Feed exports将

其儲存到檔案中。

标準項目結構執行個體:

1.items結構:定義變量,根據不同種資料結構定義

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

2.spider結構中引入item裡面,并作填充item

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

3。pipline去清洗,驗證,存入資料庫,過濾等等 後續處理

Item Pipeline常用場景

 清理HTML資料

 驗證被抓取的資料(檢查item是否包含某些字段)

 重複性檢查(然後丢棄)

 将抓取的資料存儲到資料庫中

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

4.Scrapy元件Item Pipeline

經常會實作以下的方法:

 open_spider(self, spider) 蜘蛛打開的時執行

 close_spider(self, spider) 蜘蛛關閉時執行

 from_crawler(cls, crawler) 可通路核心元件比如配置和

信号,并注冊鈎子函數到Scrapy中

pipeline真正處理邏輯

定義一個Python類,實作方法process_item(self, item,

spider)即可,傳回一個字典或Item,或者抛出DropItem

異常丢棄這個Item。

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

5.settings中定義哪種類型的pipeline

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構

持續更新中。。。。,歡迎大家關注我的公衆号LHWorld.

python scrapy架構詳解_Python爬蟲知識點四--scrapy架構