gpt4 book ai didi

java - 网络爬虫向服务器连续请求之间的最小延迟

转载 作者:行者123 更新时间:2023-12-02 07:31:46 25 4
gpt4 key购买 nike

我构建了一个多线程网络爬虫,它发出请求从相应的服务器获取网页。由于它是多线程的,它可能会使服务器负担过重。由于哪个服务器可以阻止爬虫(礼貌)。

我只想在对同一服务器的后续请求之间添加最小延迟的功能。将来自每个服务器(域)的 robots.txt 的最小延迟存储到 HashMap 中并将其与对该特定服务器发出请求的最后时间进行比较是否可以?

如果 robots.txt 中没有指定延迟怎么办?

最佳答案

事实上的标准 robots.txt 文件格式没有指定请求之间的延迟。这是一个非标准扩展。

没有“抓取延迟”指令并不意味着您可以随心所欲地攻击服务器。

<小时/>

Whether storing minimum delay from robot.txt from each server(domain) into a HashMap and comparing it to last timing of request made to that particular server will be all right?

这还不够。对于 robots.txt 不使用非标准指令的情况,您还需要实现请求之间的最短时间。您还应该尊重 503 响应中的“Retry-After” header 。

理想情况下,您还应该注意响应请求所需的时间。响应缓慢可能表明拥塞或服务器过载,如果网站管理员认为这是造成拥塞的原因,则更有可能阻止您的抓取工具。

关于java - 网络爬虫向服务器连续请求之间的最小延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12816998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com