我正在编写一些代码来查找单个网页的绝对网址:
http://explore.bfi.org.uk/4ce2b69ea7ef3
到目前为止,我获得该页面的所有链接并打印绝对网址
以下是代码的一部分:
Elements hyperLinks = htmlDoc.select("a[href]");
for(Element link: hyperLinks)
{
System.out.println(link.attr("abs:href"));
}
这会打印出与上面一样的很多或网址。但是,它似乎也跳过了一些URL。它跳过的是我真正需要的那些。
这是一个[href]元素之一,它没有变成绝对URL:
<div class="title"><a href="/4ce2b69ea7ef3">Royal Review</a><br /></div>
如果我只打印“链接”,它会打印这一行但是当我输入“abs:href”时,它只会打印空白。
我是Java新手并感谢任何反馈!
答案 0 :(得分:1)
你不应该使用“a [href]”,而是使用“a”代替this example:
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/"
所以在你的情况下:
Elements hyperLinks = htmlDoc.select("a");
for(Element link: hyperLinks)
{
System.out.println(link.attr("abs:href"));
}