gpt4 book ai didi

java - 无法使用 HTMLParser 获取网页的所有内容

转载 作者:行者123 更新时间:2023-12-01 15:11:55 25 4
gpt4 key购买 nike

我正在使用 Jsoup 来解析这个网页 https://daisy.dsv.su.se/servlet/schema.MomentInfoRuta?id=261020&kind=100&nochange=true&allPrio=true&multiple=true&allEx=true

在该网页中,我可以在浏览器中看到一些内容,但是当我尝试使用 Jsoup 解析它时

Document doc = Jsoup.parse("https://daisy.dsv.su.se/servlet/schema.MomentInfoRuta?id=261020&kind=100&nochange=true&allPrio=true&multiple=true&allEx=true");
System.out.println(doc);

它会回来

<html>
<head></head>
<body>
https://daisy.dsv.su.se/servlet/schema.MomentInfoRuta?id=261020&amp;kind=100&amp;nochange=true&amp;allPrio=trueμltiple=true&amp;allEx=true
</body>
</html>

这并不全是 HTML。

有什么建议我可以解决这个问题或者为什么会发生这种情况吗?

最佳答案

看起来他们正在检测爬虫程序(通常是通过您的用户代理)并发送不同的内容。试试setting your user agent string到标准浏览器的字符串,看看是否可以解决您遇到的问题。

另一个潜在的问题是通过 AJAX 加载的数据不会被 JSoup 下载,尽管我不认为这是这里的问题。它解析提供的 HTML,但不执行 JavaScript,因此它无法获取稍后出现的任何额外内容。您也许可以使用类似 PhantomJS 来解决该问题。它可以处理和渲染 HTML、CSS 和 JavaScript,并且(理论上)会为您提供最终在浏览器中看到的实际 HTML。

关于java - 无法使用 HTMLParser 获取网页的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com