Java HTML解析没有得到我的数据?
问题描述:
我有以下的HTML代码:Java HTML解析没有得到我的数据?
<tr class="odd">
<td class="first name">
<a href="/quote/III:LN">3i Group PLC</a>
</td>
<td class="value">457.80</td>
<td class="change up">+10.90</td> <td class="delta up">+2.44%</td> <td class="value">1,414,023</td>
<td class="datetime">11:35:08</td>
因我所需要得到的数据
457.80
(即value属性),我有这样的Java代码目前:
String FTSE = "http://www.bloomberg.com/quote/UKX:IND/members";
doc = Jsoup.connect(FTSE).get();
Elements links = doc.select("a[href='/quote/III:LN']");
for (Element link : links) {
// get the value from href attribute
System.out.println("\nlink : " + link.attr("value"));
System.out.println("text : " + link.text());
当我运行我的程序时,它终止输出什么都没有。我如何制作它,以便它输出值,在这种情况下,它是'457.80'?
答
links
将包含<a href...>
元素。您试图检索的是完全不同元素的文本,即<td>
标签,其类别为value
。
我的猜测是你有多个<tr>
元素,你只需要一个包含你选择的链接的元素。在这种情况下,你需要下面的代码:
String FTSE = "http://www.bloomberg.com/quote/UKX:IND/members";
doc = Jsoup.connect(FTSE).get();
Elements trs = doc.select("tr:has(a[href='/quote/III:LN'])");
Elements values = trs.select("td.value");
link = values.get(0);
System.out.println("text : " + link.text());
或类似的东西...
+0
对于nooby问题的道歉,但我有一个红色线下的链接错误'链接不能解析为变量',我该怎么做才能解决这个问题? – 2014-12-07 18:56:28
+0
Element link = values.get(0); – 2014-12-07 22:59:21
我认为你没有使用正确的选择。而不是“a [href ='/ quote/III:LN']”尝试“td.value”。 – Titus 2014-12-07 18:46:09