我目前正在尝试使用Java中的JSOUP刮擦Retrosheets.org进行我正在从事的棒球编码项目。
i在我的代码中执行多个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();
这是我遇到的错误
这绝对是目标网站端上的加载保护 - 它检测到来自同一IP的太多请求,并将其阻止了一段时间或从该IP中的connection/请求数量。这就是为什么您也不能在浏览器中打开网站 - 这根本不是关于jsoup或java的,而是关于IP的连接/请求到您的IP到目标网站的连接/请求。