2012-11-22 50 views
7

我正在使用scrapy爬行速度慢(約1頁/秒)。 我從aws服務器爬行一個主要網站,所以我不認爲它是一個網絡問題。 Cpu利用率遠不及100,如果我啓動多個scrapy進程,抓取速度要快得多。Scrapy爬行速度慢(60頁/分鐘)

Scrapy似乎抓取了一堆頁面,然後掛起幾秒鐘,然後重複。

我試着玩: CONCURRENT_REQUESTS = CONCURRENT_REQUESTS_PER_DOMAIN = 500

但這並不似乎真的動針過去約20

+0

哪個scrapy版本?任何非默認擴展/中間件?暫停可能是一些阻塞代碼,您是否可以在阻止scrapy的reactor線程中做某些事情(例如將數據寫入數據庫,上傳到s3等)? –

+0

@somewire檢查CPU | HDD |網絡利用率只需要報廢而不用lxml解析頁面。設置'LOG_LEVEL ='DEBUG'' – nk9

回答

2

你肯定你被允許抓取目的地現場在高速?許多網站實施下載閾值和「一段時間後」開始緩慢響應。

+0

如果請求返回503並且前端服務器是nginx,那麼您是對的http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html – nk9