我需要以下方面的帮助,以使用Jsoup解析HTML: https://www.sierra.com/clearance~1/women~d~5324/specdataor~gender!women/colorfamily~red/priceor~%2410-%2414dotdot99/3/。
当我尝试解析任何HTML时
java.net.SocketTimeoutException:读取超时。
使用其他URL,此代码可以正常工作。
我该如何解决这个问题?
private void Parsedata(){
try {
String URL = "https://www.sierra.com/clearance~1/women~d~5324/specdataor~gender!women/colorfamily~red/priceor~%2410-%2414dotdot99/3/";
System.out.println(getPage(URL));
} catch (IOException e) {
e.printStackTrace();
}
}
private static Document getPage(String URL) throws IOException {
Document page = Jsoup.connect(URL).timeout(0).execute().parse();
return page;
}
答案 0 :(得分:1)
您要连接的页面需要有效的用户代理。您可以使用Connection.userAgent()
进行设置。您可以使用当前的Chrome版本,例如:
private static Document getPage(String URL) throws IOException {
return Jsoup.connect(URL)
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36")
.timeout(10_000).execute().parse();
}