繁体   English   中英

Jsoup在某些站点上失败

[英]Jsoup fails on certain sites

我正在尝试使用jsoup解析和处理HTML。 对于大多数URL来说,它工作正常,但在某些URL上却失败。 例如

这有效:

Document document = Jsoup.connect("https://www.yahoo.com/politics/time-to-take-sanders-seriously-1342599418519606.html")
        .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11 Firefox/19.0")
        .timeout(10*1000)
        .get();

这将失败:

Document document = Jsoup.connect("http://www.sciencedaily.com/releases/2016/02/160201215944.htm")
        .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11 Firefox/19.0")
        .timeout(10*1000)
        .get();

我哪里出问题了?

谢谢。

似乎在第二个示例中,您获得了简短的HTML,除了一些JavaScript之外,其中没有任何其他内容。 因此,获取页面效果很好。 问题可能是由于Jsoup无法执行JavaScript,所以JavaScript无法执行,这超出了JSoup的范围。

为此,您需要使用其他方法,例如Selenium Webdriver或HTMLUnit。

该页面是常规HTML 我不知道如何解释它,但是如果将请求更改为POST请求,即使我的浏览器(Firefox)使用GET请求获取页面,也可以GET
我试图添加所有由浏览器发送的pther头- HOSTACCEPT等,但只有改变requet到POST做的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM