2013-02-09 2 views
-2

Мне было интересно, если кто-нибудь знает, как успешно проанализировать название компании "Alcoa Inc." показано в приведенном ниже URL. Было бы намного проще показать картину, но у меня недостаточно репутации. Любая помощь будет оценена по достоинству.Parse Информация о компании

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; 
+0

[Что вы пытались?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

+0

Вы пытались найти источник HTML? –

+0

Я успешно проанализировал цену компании, но по какой-то причине мой код не будет захватывать div, который содержит название компании. – Muraaby

ответ

1

Myself, я бы анализировать страницу исходного 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: NASDAQ: XONE котировки & новости - Google Finance

Это Безразлично это намного легче, чем это.

Смежные вопросы