我目前正在尝试使用Java中的JSoup来抓取retrosheets.org进行我正在进行的棒球编码项目。
我在我的代码中执行了多个JSoup连接,其中一些连接是在循环中完成的(因此执行了很多次)。因此,总的来说,我在程序中建立了数百个连接以抓取必要的数据。
该程序工作约5秒钟,但随后挂断了一个连接(每次连接都不相同)。然后,当我尝试在浏览器中单独访问该网站时,该网站将无法加载。是什么原因造成的?执行过多的连接是否存在问题?
这是我正在执行的连接的示例(所有连接都遵循相同的格式)。
doc = Jsoup.connect("https://www.retrosheet.org/boxesetc/index.html").maxBodySize(0).userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15").get();
答案 0 :(得分:0)
这绝对是目标网站端的负载保护-它检测到来自同一IP的太多请求并将其阻止一会儿,或者限制来自该IP的连接/请求数。这就是为什么您也无法在浏览器中打开网站的原因-根本不涉及JSoup或Java,而是有关IP到目标网站的连接/请求被阻止/限制。