我正在寻找在Scrapy蜘蛛内实现爬行延迟的方法。我想知道是否可以从蜘蛛中访问reactor的callLater
方法?这样可以很容易地在 n 秒之后解析一个页面。
答案 0 :(得分:2)
您可以通过在设置文件中设置DOWNLOAD_DELAY来轻松设置延迟。
DOWNLOAD_DELAY
默认值:0
下载者之前应该等待的时间(以秒为单位) 从同一个蜘蛛下载连续的页面。这可以使用 限制爬行速度以避免过于严重地击中服务器。 支持十进制数。例如:
DOWNLOAD_DELAY = 0.25#250 ms延迟此设置也是 受RANDOMIZE_DOWNLOAD_DELAY设置影响(由。启用) 默认)。默认情况下,Scrapy不会等待一段固定的时间 请求之间,但使用0.5到1.5 *之间的随机间隔 DOWNLOAD_DELAY。
您还可以为每个蜘蛛更改此设置。