【发布时间】:2018-08-03 13:41:10
【问题描述】:
我正在使用 JSOUB 来抓取所有网页,如下所示:
public static final String GOOGLE_SEARCH_URL = "https://www.google.com/search";
String searchURL = GOOGLE_SEARCH_URL + "?q="+searchTerm+"&num="+num +
"&start=" + start;
Document doc = Jsoup.connect(searchURL)
.userAgent("Mozilla/5.0 Chrome/26.0.1410.64 Safari/537.31")
// .ignoreHttpErrors(true)
.maxBodySize(1024*1024*3)
.followRedirects(true)
.timeout(100000)
.ignoreContentType(true)
.get();
Elements results = doc.select("h3.r > a");
for (Element result : results) {
String linkHref = result.attr("href");
}
但我的问题是在代码开始时运行良好。
一段时间后,它会停止并总是给我“HTTP error fetching URL. Status=503 error”。
当我添加 .ignoreHttpErrors(true) 时,它可以正常工作,但不会抓取网页。
*search term 是我要搜索的任何关键字,num 是我需要检索的页数。
有人可以帮忙吗? 这是否意味着谷歌阻止了我的 IP 抓取?如果是的话,请问有什么解决方案或者我如何浏览谷歌搜索结果吗?
我需要帮助。 谢谢,
【问题讨论】:
-
stackoverflow.com/questions/30614919/… 未被接受的答案可能会有所启发。
标签: java google-chrome jsoup