我想从下面列出的网址中删除HTML代码。问题是,我收到了这个错误: -
2016年8月14日下午6:40:36 booksscraper.BooksScraper主要 严重:空 org.jsoup.HttpStatusException:HTTP错误提取URL。状态= 504,网址= http://www.bkstr.com/webapp/wcs/stores/servlet/CourseMaterialsResultsView?catalogId=10001&categoryId=9604&storeId=10293&langId=-1&programId=636&termId=100043741&divisionDisplayName=%20&departmentDisplayName=ACCG&courseDisplayName=16971§ionDisplayName=P15%20DAVIS&demoKey=d&purpose=browse at org.jsoup.helper.HttpConnection $ Response.execute(HttpConnection.java:590) at org.jsoup.helper.HttpConnection $ Response.execute(HttpConnection.java:540) 在org.jsoup.helper.HttpConnection.execute(HttpConnection.java:227) 在org.jsoup.helper.HttpConnection.get(HttpConnection.java:216) at booksscraper.BooksScraper.main(BooksScraper.java:52)
我已将超时设置为无穷大,但这没有帮助。该网站的HTML代码非常大,即14833行代码。这是问题的原因吗?
String url = "http://www.bkstr.com/webapp/wcs/stores/servlet/CourseMaterialsResultsView?catalogId=10001&categoryId=9604&storeId=10293&langId=-1&programId=636&termId=100043741&divisionDisplayName=%20&departmentDisplayName=ACCG&courseDisplayName=16971§ionDisplayName=P15%20DAVIS&demoKey=d&purpose=browse";
Document doc = Jsoup.connect(url)
.maxBodySize(0)
.timeout(0)
.get();
System.out.println(doc);
答案 0 :(得分:0)
这不是Jsoup API或您的代码问题。出现错误消息的原因是网址没有响应并抛出"网关超时"错误消息(代理服务器未从上游服务器收到及时响应)。
您程序中的异常消息: -
获取URL时出现HTTP错误。状态= 504
HTTP状态代码:504
504网关超时
服务器在充当网关或代理时,没有收到 来自URI指定的上游服务器的及时响应(例如 HTTP,FTP,LDAP)或它需要的一些其他辅助服务器(例如DNS) 尝试完成请求时访问。
Note: Note to implementors: some deployed proxies are known to return 400 or 500 when DNS lookups time out.
答案 1 :(得分:0)
我确实通过将 UserAgent 设置为 Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 51.0.2704.106 Safari来设置连接到网站/537.36 即可。但是,大约需要4分钟才能做出回应。