格式化网址更容易?

时间:2014-06-24 09:20:50

标签: java html string jsoup

我只是想知道是否有更通用的方法来做到这一点。我抓了一个网页,并获得了所有链接,问题是他们中的很多人是相对的

e.g /index.html e.g /home.index.html

到目前为止,我一直试图通过添加主页网址来解决这个问题。 e.g .index.html变为www.example.com/index.html等(我需要这样做,因为我想使用HttpCLient连接到每个链接)

我的问题是,在执行此操作时需要考虑很多因素。是否有更简单的方法可以解决这个问题。

提前致谢:)

 ps I can get all the links just wondering if jsoup or httpclient
 has a better way of formatting the URLs.    

1 个答案:

答案 0 :(得分:2)

是。 JSoup文档针对您的用例说明:

  

问题您有一个包含相对网址的HTML文档,您需要将其解析为绝对网址。

     

解决方案

     

确保在解析文档时指定基URI(即   从URL加载时隐式),并使用abs:attribute前缀   解析属性的绝对URL:

Document doc = Jsoup.connect("http://jsoup.org").get();

Element link = doc.select("a").first();
String relHref = link.attr("href"); // == "/"
String absHref = link.attr("abs:href"); // "http://jsoup.org/"

来源:JSoup Doc