scrapy 2.3 增加并發(fā)性

2021-06-16 11:08 更新

Concurrency是并行處理的請求數(shù)。存在全局限制 (?CONCURRENT_REQUESTS? )以及每個(gè)域都可以設(shè)置的附加限制 (?CONCURRENT_REQUESTS_PER_DOMAIN? )或每IP (?CONCURRENT_REQUESTS_PER_IP? )

注解

調(diào)度程序優(yōu)先級隊(duì)列 recommended for broad crawls 不支持 ?CONCURRENT_REQUESTS_PER_IP? .

scrapy中的默認(rèn)全局并發(fā)限制不適用于并行地對許多不同的域進(jìn)行爬網(wǎng),因此您需要增加它。增加多少將取決于您的爬蟲有多少CPU和內(nèi)存可用。

一個(gè)好的起點(diǎn)是 100 ::

CONCURRENT_REQUESTS = 100

但最好的方法是做一些試驗(yàn),并確定零碎的進(jìn)程在什么樣的并發(fā)上受到CPU限制。為了獲得最佳性能,您應(yīng)該選擇CPU使用率為80-90%的并發(fā)性。

增加并發(fā)性也會增加內(nèi)存使用量。如果擔(dān)心內(nèi)存使用問題,您可能需要相應(yīng)地降低全局并發(fā)限制。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號