2015-05-23 123 views
2

我有这样的HTML代码:JSOUP:如何获得Href?

<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(); 

而这个工程的标题,但对于网址我试过以下内容:

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。

回答

4

试试这个:

Element link = doc.select("td.topic.starter > a"); 
String url = link.attr("href"); 

您先选择a元素,然后提取其属性href

+1

我解决了: titleUrl.select(“a”)。attr(“href”)。toString() – helloimyourmind

+0

看看我编辑的文章,这应该工作。不,你不能从'td'元素中提取url,因为它是一个不同元素的属性。 – Timo

+1

@helloimyourmind那么,这与我的代码基本上是一样的,在两个选择而不是一个。你也不应该要求'toString()',因为'attr()'已经返回一个字符串。 – Timo