如何使用java解析HTML页面中的特定项?

时间:2014-11-14 21:06:53

标签: java html html-parsing jsoup

我正在尝试获取股票代码名称,这是3-4个字母代码,用于唯一标识股票。以下是我尝试使用的代码。

 import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Alpha {

  public static void main(String[] args) {

Document doc;
try {

    // need http protocol
    doc = Jsoup.connect("http://www.bloomberg.com/markets/stocks/movers/ftse-100/").get();

    // get page title
    String title = doc.title();
    System.out.println("title : " + title);

    // get all links
    Elements links = doc.select("a[href=");
    for (Element link : links) {

        // get the value from href attribute
        System.out.println("\nlink : " + link.attr("href"));
        System.out.println("text : " + link.text());

    }

} catch (IOException e) {
    e.printStackTrace();
}

但是,我想从网页上获取SPECIFIC链接,而不是获取所有链接。例如,我想要获得的数据之一的HTML代码是:

<tr class="odd">
    <td class="first name">
      <a href="/quote/AGK:LN">Aggreko PLC</a>
    </td>
    <td class="value">1,594.00</td>
    <td class="change up">+52.00</td>        <td class="delta up">+3.37%</td>        <td class="value">1,561,246</td>
    <td class="datetime">11:35:00</td>
  </tr>

使用标签/ quote / AGK:LN我要在屏幕上输出的数据。如何让程序仅选择HTML的那部分?

干杯

1 个答案:

答案 0 :(得分:0)

在cssquery中你只需要输入值 比如"a[href='blablbla']"

所以试试这个

Elements links = doc.select("a[href='/quote/AGK:LN']");