python 多執行緒來提公升scrapy的速度

2021-10-09 20:01:58 字數 787 閱讀 6006

scrapy在單機跑大量資料的時候,在對settings檔案不進行設定的時候,scrapy的爬取速度很慢,再加上多個頁面層級解析,往往導致上萬的資料可能爬取要半個小時之久,這還不包括插入資料到資料庫的操作。下面是我在實驗中測試並且驗證爬取速度大幅度提公升,不過前提你要注意到你爬取的目標**有沒有反ip的可能。

settings檔案設定以下引數:

download_delay =

0concurrent_requests =

100concurrent_requests_per_domain =

100concurrent_requests_per_ip =

100cookies_enabled =

false

多執行緒

concurrent_requests =

100concurrent_requests_per_domain =

100concurrent_requests_per_ip =

100

scrapy框架是基於多執行緒twisted,當然scrapy也是通過多執行緒進行資料請求的,並且支援多核cpu的併發,我們就可以通過設定併發請求數來提高爬取速度。

禁止使用cookies

cookies_enabled = false

大部分情況下靜止使用cookies可以防止被ban。

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

這樣來理解多執行緒

每乙個程式可以包含至少乙個執行緒,而多個執行緒之間可以 併發 執行。在介紹執行緒前先來用生活中最常見的乙個小例子來理解什麼是執行緒 假如你去一家餐館吃飯,那家餐館只有乙個服務員,所以這個唯一的服務員給你點菜的時候,別的去餐館吃飯的人就得等著。但是如果這個餐館有多個服務員的話,那麼在同一時刻就可以給多...

python多執行緒詳解 Python多執行緒詳解

前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...