我正在尝试通过使用Java与Jsoup抓取网页来收集数据。理想情况下,我想要大约8000行数据,但是我想知道当访问一个站点多次时的礼节是什么。对于每个代码,我的代码都必须导航到网站的不同部分,因此我必须加载8000个(或更多)网页。在每个请求之间放置延迟是一个好主意,这样我就不会使网站超载吗?据我所见,他们没有提供API。
此外,我尝试运行我的代码以无中断地仅获取80行数据,并且我的Internet断开了。运行该代码可能会导致它吗?当我给公司打电话时,自动消息使人感觉好像该地区没有服务,所以也许直到我尝试运行代码之前我才注意到它。感谢您的帮助,对于网络编码我还是很陌生。谢谢!
答案 0 :(得分:0)
以下是您在使用Java和Jsoup编写超快速的Web爬虫时应该考虑的几件事以及我学到的东西:
在一个网站的每个请求响应时间为500毫秒的情况下,我的网络抓取程序能够在3分钟内通过100MBPS的连接从20万个具有50个线程,1000个代理的页面中抓取数据。
请求之间应该有延迟吗?
答案:这取决于网站是否允许您不断点击,然后您不需要它,但最好拥有它。每个请求之间有10毫秒的延迟。
我试图运行我的代码以立即获取80行数据,而我的互联网已断开?
答案:很有可能。 ISP可能假设您正在对该网站进行DOS攻击,并且可能暂时/永久地限制了您的连接。