-2

我想知道是否有人知道如何成功解析公司名称“Alcoa Inc.”。显示在下面的 URL 中。显示图片会容易得多,但我没有足够的声誉。任何帮助,将不胜感激。

http://www.google.com/finance?q=NYSE%3AAA&ei=LdwVUYC7Fp_YlgPBiAE

到目前为止,这是我尝试使用 jsoup 解析 div 类的方法:

 <div class="appbar-snippet-primary">
<span>Alcoa Inc.</span>
</div>



public Elements htmlParser(String url, String element, String elementType, String returnElement){


        try {

            Document doc = Jsoup.connect(url).get();
            Document parse = Jsoup.parse(doc.html());

            if (returnElement == null){

                return parse.select(elementType + "." + element);

            }

            else {

                return parse.select(elementType + "." + element + " " + returnElement);

            }


        }  

public String htmlparseGoogleStocks(String url){

        String pr = "pr";
        String appbar_center = "appbar-snippet-primary";
        String val = "val";

        String span = "span";
        String div = "div";
        String td = "td";

        Elements price_data;
        Elements title_data;
        Elements more_data;

        price_data = htmlParser(url, pr, span, null);

        title_data = htmlParser(url, appbar_center, div, span);

        //more_data = htmlParser(url, val, td, null);

        //String stockprice = price_data.text().toString();
        String title = title_data.text().toString();

        //System.out.println(more_data.text());

        return title;
4

1 回答 1

1

我自己会分析感兴趣的页面的源 HTML,然后使用 JSoup 提取信息。例如,使用一个非常小的 JSoup 程序,如下所示:

import java.io.IOException;

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

public class GoogleFinance {

   public static final String PAGE = "https://www.google.com/finance?q=NASDAQ:XONE";  

   public static void main(String[] args) throws IOException {
      Document doc = Jsoup.connect(PAGE).get();

      Elements title = doc.select("title");

      System.out.println(title.text());
   }
}

你得到回报:

ExOne Co:纳斯达克股票代码:XONE 行情和新闻 - Google 财经

没有比这更容易的了。

于 2013-02-09T15:59:54.770 回答