Web crawler 基于IP地址、主机名和域名的爬网延迟

Web crawler 基于IP地址、主机名和域名的爬网延迟,web-crawler,nutch,ddos,Web Crawler,Nutch,Ddos,例如,在爬行stackoverflow的情况下,根据主机名/域名延迟是有意义的(例如,每10分钟向stackoverflow.com发送一个请求) 在*.blogspot.com的情况下,延迟基于域名的请求才有意义,因为有数以百万计的主机名以.blogspot.com结尾,而延迟基于域名的请求将使服务器收到数以百万计的请求 当爬网范围广泛的网站(网络规模爬网)时,在请求之间施加延迟的最佳实践是什么?我应该根据IP地址、主机名或域名延迟请求吗?最好使用Nutch按IP分区。由于IP分辨率的原因,生

例如,在爬行stackoverflow的情况下,根据主机名/域名延迟是有意义的(例如,每10分钟向stackoverflow.com发送一个请求)

在*.blogspot.com的情况下,延迟基于域名的请求才有意义,因为有数以百万计的主机名以.blogspot.com结尾,而延迟基于域名的请求将使服务器收到数以百万计的请求


当爬网范围广泛的网站(网络规模爬网)时,在请求之间施加延迟的最佳实践是什么?我应该根据IP地址、主机名或域名延迟请求吗?

最好使用Nutch按IP分区。由于IP分辨率的原因,生成步骤需要更长的时间,但是您可以保证获取程序在保持良好性能的同时会表现出礼貌。无论如何,robots.txt中的礼貌设置都将强制执行


我用Nutch做过数十亿次页面爬网,根据经验,按IP分组URL是最好的选择。你最不希望的事情就是被网站列入黑名单,或者更糟的是让AWS(或者你运行的任何云提供商)把你踢出。许多网站管理员甚至不知道robots.txt,如果他们认为你的爬虫程序是虐待性的,即使你打算礼貌地爬网,他们也会感到非常防御。规模越大,你应该越谨慎。

为什么不尊重robots.txt中的爬行延迟(如果设置)?@RowlandShaw类似Nutch的爬行器将以分布式模式进行抓取,每个节点有多个线程。如果爬虫程序将每个域的URL分组,您可能会在不同的线程上运行a.x.com和b.x.com-每个线程将分别检查robots.txt,礼貌设置将不会完全强制执行。非常感谢您的详细回答。