一。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
ps:真正的專案是在spiders裡面寫入的
三。scrapy元件spider
爬取流程
1. 先初始化請求URL列表,並指定下載後處
理response的回撥函式。
2. 在parse回撥中解析response並返回字典,Item
物件,Request物件或它們的迭代物件。
3 .在回撥函式裡面,使用選擇器解析頁面內容
,並生成解析後的結果Item。
4. 最後返回的這些Item通常會被持久化到資料庫
中(使用Item Pipeline)或者使用Feed exports將
其儲存到檔案中。
標準專案結構例項:
1.items結構:定義變數,根據不同種資料結構定義
2.spider結構中引入item裡面,並作填充item
3。pipline去清洗,驗證,存入資料庫,過濾等等 後續處理
Item Pipeline常用場景
清理HTML資料
驗證被抓取的資料(檢查item是否包含某些欄位)
重複性檢查(然後丟棄)
將抓取的資料儲存到資料庫中
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。
5.settings中定義哪種型別的pipeline
持續更新中。。。。,歡迎大家關注我的公眾號LHWorld.