Jsoup在一个类中得到href

时间:2011-07-26 11:39:58

标签: java class href jsoup

我有这个需要解析的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。

谢谢你们

2 个答案:

答案 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
   }
}