【问题标题】:Extracting relative links from a web page in proper format using Jsoup使用Jsoup以正确格式从网页中提取相对链接
【发布时间】:2013-04-13 03:17:32
【问题描述】:

我已经解析了一个网页的外链,我将使用 Jsoup 再次解析它。但问题是,链接的形式是:../../../pincode/india/andaman-and-nicobar- islands/。在这种形式下,我无法解析它们。所以我在stackoverflow的其他帖子的帮助下使用link.attr("abs:href")转换为绝对url。

我解析的第一个网页的网址是:http://www.mapsofindia.com/pincode/india/。解析后得到的绝对 URL 的格式为http://www.mapsofindia.com/../pincode/india/andaman-and-nicobar-islands/。但我无法使用 Jsoup 进一步解析它们。所以当我执行以下语句时:

Jsoup.parse("http://www.mapsofindia.com/../pincode/india/andaman-and-nicobar-islands/");

它给出 HTTP 400 错误,即错误请求。所以我认为Urls存在一些问题。所以任何人都可以帮我解决上述问题,以正确的方式获取网址,以便我可以进一步解析它们。谢谢。

【问题讨论】:

    标签: java html html-parsing jsoup


    【解决方案1】:

    请测试这两件事:

    1. 尝试使用link.absUrl("href") 而不是link.attr("abs:href")
    2. 检查基本 uri(在您的元素或文档上调用 baseUri()

    顺便说一句。你最好使用connect()这个东西的方法:

    Document doc = Jsoup.connect("http://<your url here>").get();
    

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 2019-04-12
      • 2011-07-04
      相关资源
      最近更新 更多