我有这个需要解析的HTML代码
<a class="sushi-restaurant" href="/greatSushi">Best Sushi in town</a>
我知道有一个jsoup的例子,你可以获得页面中的所有链接,例如
Elements links = doc.select("a[href]");
for (Element link : links) {
print(" * a: <%s> (%s)", link.attr("abs:href"),
trim(link.text(), 35));
}
但我需要一段代码可以返回给我特定类的href。
谢谢你们
答案 0 :(得分:11)
您可以按班级选择元素。此示例查找具有类sushi-restaurant
的元素,然后获取第一个结果的绝对URL。
确保在解析HTML时,指定基本URL(从中获取文档的位置)以允许jsoup确定链接的绝对URL是什么。
public static void main(String[] args) {
String html = "<a class=\"sushi-restaurant\" href=\"/greatSushi\">Best Sushi in town</a>";
Document doc = Jsoup.parse(html, "http://example.com/");
// find all <a class="sushi-restaurant">...
Elements links = doc.select("a.sushi-restaurant");
Element link = links.first();
// 'abs:' makes "/greatsushi" = "http://example.com/greatsushi":
String url = link.attr("abs:href");
System.out.println("url = " + url);
}
更短的版本:
String url = doc.select("a.sushi-restaurant").first().attr("abs:href");
希望这有帮助!
答案 1 :(得分:0)
Elements links = doc.select("a");
for (Element link : links) {
String attribute=link.attr("class");
if(attribute.equalsIgnoreCase("sushi-place")){
print link.href//You probably need this
}
}