Jsoup自动删除元素?

时间:2014-08-18 19:59:53

标签: jsoup

我一直在使用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输出中缺席......

预期

table elements

结果

Imgur

我尝试用简单的HttpClient获取文档,打印它(表格元素在那里),用Jsoup解析它,重新打印(表格元素消失了)所以我知道它不是Javascript问题或者其他什么Jsoup确实造成了它。

你能告诉我我错过了什么吗?

1 个答案:

答案 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是包含页面内容的字符串。