Jsoup网址,通过链接名称获取网址

时间:2012-06-08 05:57:41

标签: java url jsoup

我想通过链接名称获取网址。

<a href="download.asp?softid=1&amp;downid=2&id=65367" target="_blank">download</a>

<a href="www.baidu.com" target="_blank">ad</a>

所以我想要的是下载链接名称的第一个网址。

我的问题是如何通过链接名称获取网址。

我知道一个完整的解决方案是获取所有元素并使用if(a.text()。contains(download))。但我想有一个简单的方法。

由于

2 个答案:

答案 0 :(得分:2)

嗯,最好的方法是获得所有&lt; a&gt; s,包含hrefs,并获取hrefs属性。就像这样:

Document doc = Jsoup.connect("whatever url").get();

Elements a = doc.select("a[href]");

String href;

for (Element elem : a) {
    href = a.attr("href");
}

现在......你想要得到的是你想要的。但我认为你必须使用

.contains(""); 
.endsWith(""); 
.startsWith("");

哦,也许你可以尝试使用doc变量中的getter。

.getElementsByAttributeValue(“a [href]”,“download”);

答案 1 :(得分:2)

使用伪选择器。例如,

Document doc = Jsoup.connect(url).get();
Elements a = doc.select("a[href]:contains(download)");

根据您要完成的内容,您可能希望使用containsOwn来避免在子元素中搜索,或者如果要使用正则表达式来获取仅包含文本“download”的元素,请使用matches / matchesOwn。那个正则表达式将是

^download$

请参阅Selector documentation

相关问题