我一直在使用Jsoup但是我遇到了一个错误,Jsoup会自动删除“table”元素而无法找到任何解决方法......
Document doc = Jsoup.connect("http://www.planet-series.tv/dr-house/").get();
System.out.println(doc);
如果您导航到这段代码中的链接,您可以看到有多个元素“table”(例如:在“Saison 01(VF)”下,有22个表元素包含“Episode x”)但它们在JSOUP输出中缺席......
我尝试用简单的HttpClient
获取文档,打印它(表格元素在那里),用Jsoup解析它,重新打印(表格元素消失了)所以我知道它不是Javascript问题或者其他什么Jsoup确实造成了它。
你能告诉我我错过了什么吗?
答案 0 :(得分:0)
某些网站将根据用户代理数据(浏览器附加到请求的标头,以通知网站有关浏览器的类型)执行优化/限制。如果未设置用户代理,某些网站将阻止内容。
您可以尝试使用简化的mozilla用户代理来模拟真实的浏览器并获取数据:
Document doc = Jsoup.connect("http://www.planet-series.tv/dr-house/")
.userAgent("mozilla").get();
System.out.println(doc);
如果这不起作用,并且您真的遇到了JSoup的错误,只需使用HttpClient获取数据,然后使用以下命令创建文档:
Document doc = Jsoup.parse(html);
其中html
是包含页面内容的字符串。