我有我需要解析的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。
多谢你们
最佳答案
您可以按类别选择元素。本示例查找带有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");
希望这可以帮助!