每个蜘蛛的 scrapy 随机等待

scrapy random waits per spider

我想让 scrapy 在请求之间使用随机等待,并让每个 scraper 设置等待时间。

理想情况下,我能够设置平均值和标准偏差,比如注入:

import time
import numpy as np 

avg, stddev = 10, 5
time.sleep(np.random.normal(loc=avg, scale=stddev))

进入每个网络电话。

这在 scrapy 中可行吗?也许是自定义中间件?

你应该使用 DOWNLOAD_DELAYRANDOMIZE_DOWNLOAD_DELAY

你可以设置DOWNLOAD_DELAY,scrapy会默认随机化 IE。 如果您将延迟设置为 10 秒

Scrapy 将在一个范围内(5 - 15 秒)或 (延迟 50% 到延迟 +50%)

中使用每个请求之间的随机等待

To set the delay at Spider level You can use custom_setting-1 , custom_setting-2

custom_settings = {
        'DOWNLOAD_DELAY': 10
    }