使用Jsoup以适当的格式从网页中提取相对链接

时间:2013-04-13 03:17:33

标签: java html html-parsing jsoup

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

我解析的第一个网页的网址是:http://www.mapsofindia.com/pincode/india/。解析后得到的绝对URls的格式为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存在一些问题。所以任何人都可以帮我解决上面的问题,以适当的方式获取网址,以便我可以进一步解析它们。谢谢。

1 个答案:

答案 0 :(得分:1)

请测试这两件事:

  1. 尝试使用link.absUrl("href")代替link.attr("abs:href")
  2. 检查基本uri(在元素或文档上调用baseUri()
  3. 顺便说一下。你最好使用connect()方法:

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