我只是想知道是否有更通用的方法来做到这一点。我抓了一个网页,并获得了所有链接,问题是他们中的很多人是相对的
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.
答案 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