我想通过链接名称获取网址。
<a href="download.asp?softid=1&downid=2&id=65367" target="_blank">download</a>
<a href="www.baidu.com" target="_blank">ad</a>
所以我想要的是下载链接名称的第一个网址。
我的问题是如何通过链接名称获取网址。
我知道一个完整的解决方案是获取所有元素并使用if(a.text()。contains(download))。但我想有一个简单的方法。
由于
答案 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$