JSOUP:如何获得 Href?
Posted
技术标签:
【中文标题】JSOUP:如何获得 Href?【英文标题】:JSOUP: How to get Href? 【发布时间】:2015-08-05 03:41:35 【问题描述】:我有这个 html 代码:
<td class="topic starter"><a href="http://www.test.com">Title</a></td>
我想提取“标题”和 URL,所以我这样做了:
Elements titleUrl = doc.getElementsByAttributeValue("class", "topic starter");
String title = titleUrl.text();
这适用于标题,但对于 URL,我尝试了以下操作:
String url = titleUrl.html();
String url = titleUrl.attr("a [href]");
String url = titleUrl.attr("a[href]");
String url = titleUrl.attr("href");
String url = titleUrl.attr("a");
但是没有人工作,我无法获取 URL。
【问题讨论】:
【参考方案1】:试试这个:
Element link = doc.select("td.topic.starter > a").first();
String url = link.attr("href");
您首先选择a
元素,然后提取其属性href
。
【讨论】:
看看我编辑的帖子,这应该可以。不,您不能从td
元素中提取 url,因为它是不同元素的属性。
@helloimyourmind 好吧,这与我的代码基本相同,在两个选择中而不是一个。您也不应该要求toString()
,因为attr()
已经返回一个字符串。
感谢您的帮助。您的解决方案是否提高了双选的性能?
我不知道它是否提高了性能,因为我不知道它是如何在内部实现的——它当然不应该让它变慢。不过,它提高了可读性。
你需要添加 .first(); doc.select("td.topic.starter > a").first();以上是关于JSOUP:如何获得 Href?的主要内容,如果未能解决你的问题,请参考以下文章