Scrapy學習 20 資料收集

2022-08-04 07:21:09 字數 1853 閱讀 3132

scrapy的資料收集功能

定義

scrapy提供了方便的收集資料的機制。資料以key/value方式儲存,值大多是計數值。

該機制叫做資料收集器(stats collector),可以通過 crawler api 的屬性 stats 來使用。

特點

無論資料收集(stats collection)開啟或者關閉,資料收集器永遠都是可用的。

因此您可以import進自己的模組並使用其api(增加值或者設定新的狀態鍵(stat keys))。

該做法是為了簡化資料收集的方法: 您不應該使用超過一行**來收集您的spider,scrpay擴充套件或任何您使用資料收集器**裡頭的狀態。

資料收集器的另乙個特性是(在啟用狀態下)很高效,(在關閉情況下)非常高效(幾乎察覺不到)。

資料收集器對每個spider保持乙個狀態表。當spider啟動時,該錶自動開啟,當spider關閉時,自動關閉

使用

設定資料                          stats.set_value('

hostname

', socket.gethostname())

增加資料值 stats.inc_value(

'pages_crawled')

當新的值比原來的值大時設定資料 stats.max_value(

'max_items_scraped

', value)

當新的值比原來的值小時設定資料 stats.min_value(

'min_free_memory_percent

', value)

獲取資料 stats.get_value(

'pages_crawled')

獲取所有資料 stats.get_stats()

可用的資料收集器

memorystatscollector

乙個簡單的資料收集器。其在spider執行完畢後將其資料儲存在記憶體中。資料可以通過 spider_stats 屬性訪問。該屬性是乙個以spider名字為鍵(key)的字典

dummystatscollector

該資料收集器並不做任何事情但非常高效(因為什麼都不做(寫文件的人真調皮o(╯□╰)o))。 您可以通過設定 stats_class 啟用這個收集器,來關閉資料收集,提高效率。

不過,資料收集的效能負擔相較於scrapy其他的處理(例如分析頁面)來說是非常小的

使用例項,統計處理404頁面

#可能會影響統計因素

#spider_middlewares =

scrapy 資料收集

什麼是資料收集器?資料以key value形式存在,收集一些狀態,簡化資料收集的狀態 計算到底傳送了多少request等等統計資訊 如何對404頁面進行設定?通過response.status等於判斷狀態是否為404,然後把失敗的url新增到初始化的失敗列表中,設定失敗計數收集器 在spider類邏...

scrapy資料收集器資料遠端獲取

scrapy的資料收集器可以實時記錄爬蟲狀態資料,預設在爬蟲結束是列印 c anaconda2 lib site packages scrapy statscollectors.py class statscollector object def init self,crawler self.dum...

學習資料收集

github repos ios boost學習資料 android從入門到精通系列資料 安卓開 壇 ios iphone學習系列 教程 開源中國社群,遊戲開發 cocos2d 搭建cocos2d遊戲引擎環境 windows phone學習系列教程 開發培訓包 silverlight資料 乙個很不錯...