Java JSoup通过阻塞的IP解析网页

时间:2016-06-13 11:01:24

标签: java jsoup

我正在连接到JSOUP中的网址www.ABC.com。如果您访问3次,该网站会阻止IP。现在有任何方法可以在阻止我的IP后连接到此网页。我也尝试过使用代理。

System.setProperty("http.proxyHost", "178.62.238.17");
System.setProperty("http.proxyPort", "3128");
Document cityDoc = Jsoup.connect(cityURL)
                         .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36")
                         .get();

我仍然得到HTTP error fetching URL. Status=403

PS:Jsoup.connect()适用于我的前3次,然后因为我的IP被阻止而导致错误

3 个答案:

答案 0 :(得分:2)

如果您尝试连接到几次尝试后锁定您的IP网站,那么您通常无法做很多事情。如果您正在抓取某个页面,也许他们有网络服务,这些服务会为您提供一些您正在寻找志愿服务的数据。

但一般的答案是:不。

答案 1 :(得分:0)

根据我的经验或观察,我发现当我们向网站发出更多请求时。网站会识别我们的ip。之后限制交叉阻止我们,因为他们知道网站会发生一些欺诈行为。

对于解决方案,请在请求时使用HMA进行网络或设置代理ip。但请记住,ip在请求时递归更改。

答案 2 :(得分:0)

一种方法是使事情变慢,即在两者之间进行随机的长时间睡眠。通常,如果在短时间内进行过多尝试,则网站会阻止您。引入随机的长时间等待将使服务器相信它实际上是一个人而不是机器人。当然,这会使您的代码运行慢得多,但至少仍会自动进行。