如何提高scrapy的爬取效率
增加並發:
默認scrapy開啟的並發線程為32個,可以適當進行增加。在settings配置文件中修改CONCURRENT_REQUESTS = 100值為100,並發設置成了為100。 降低日志級別: 在運行scrapy時,會有大量日志信息的輸出,為了減少CPU的使用率。可以設置log輸出信息為INFO或者ERROR即可。在配置文件中編寫:LOG_LEVEL = ‘INFO’ 禁止cookie: 如果不是真的需要cookie,則在scrapy爬取數據時可以進制cookie從而減少CPU的使用率,提升爬取效率。在配置文件中編寫:COOKIES_ENABLED = False 禁止重試: 對失敗的HTTP進行重新請求(重試)會減慢爬取速度,因此可以禁止重試。在配置文件中編寫:RETRY_ENABLED = False 減少下載超時: 如果對一個非常慢的鏈接進行爬取,減少下載超時可以能讓卡住的鏈接快速被放棄,從而提升效率。在配置文件中進行編寫:DOWNLOAD_TIMEOUT = 10 超時時間為10s
Scrapy的日志等級
- 在使用scrapy crawl spiderFileName運行程序時,在終端里打印輸出的就是scrapy的日志信息。
- 日志信息的種類:
ERROR : 一般錯誤
WARNING : 警告
INFO : 一般的信息
DEBUG : 調試信息
- 設置日志信息指定輸出:
在settings.py配置文件中,加入
LOG_LEVEL = ‘指定日志信息種類’即可。
LOG_FILE = 'log.txt'則表示將日志信息寫入到指定文件中進行存儲。