JSoup 不检索网页上的链接



我正在使用JSoup解析站点地图。

Document dom = Jsoup.parse(new URL(pageRacine).openStream(), "UTF-8", "https://www.lavisducagou.nc/page-sitemap.xml");
Elements liens = dom.getElementsByTag("a");
System.out.println(liens.size() + " links have been retrieved");

输出:

0 links have been retrieved

我也试过这个,但它不起作用:

Document dom = Jsoup.parse(String.valueOf(new URL("https://www.lavisducagou.nc/page-sitemap.xml").openStream()), "", Parser.xmlParser());
liens = dom.select("a");

有人可以帮助我我疯了吗?

编辑System.out.println(dom.body());输出null

您不会获得任何链接,因为站点地图没有带有标签a的元素。站点地图中的网址位于标记loc中。使用Elements liens = dom.getElementsByTag("loc");

您可能被浏览器中的内容弄错了。使用浏览器时,您会收到两个请求。一个用于下载站点地图.xml另一个用于获取main-sitemap.xsl,其中包含浏览器如何显示xml文件的信息。

Jsoup没有这样做。使用System.out.println(dom.html())查看 Jsoup 下载的文档的外观。

使用浏览器中的网络选项卡查看下载了哪些元素,以显示数据。

最新更新