2013-12-09 247 views
0

我有這個小塊的代碼將從網站抓取html代碼。我感興趣的是解析代碼的某個部分,但幾次。更具體地說,即時通訊製作一個Pokedex,並且想要解析來自例如百科全書頁http://bulbapedia.bulbagarden.net/wiki/Bulbasaur_(Pok%C3%A9mon)的某些描述。我怎樣才能讓這個解析器只取得bulbasaur的描述?我將如何創建任何邊界來停止和開始?從網站抓取文本

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.net.URL; 
import java.net.URLConnection; 

public class WebCrawler{ 
    public static void main(String[] args) { 
     try { 
      URL google = new URL("http://pokemondb.net/pokedex/bulbasaur"); 
      URLConnection yc = google.openConnection(); 
      BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); 
      String inputLine; 
      while ((inputLine = in.readLine()) != null) { 
       System.out.println(inputLine); 

      } 
      in.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

回答

0

您可以使用Jsoup,有了這個代碼,你可以得到妙蛙種子的描述:

import java.io.IOException; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.select.Elements; 


public class Test { 

    public static void main(String[] args) throws IOException { 

     Document doc = Jsoup 
       .connect(
         "http://bulbapedia.bulbagarden.net/wiki/Bulbasaur_(Pok%C3%A9mon)") 
       .get(); 
     Elements newsHeadlines = doc.select("#mw-content-text p"); 
     for (Object o : newsHeadlines) { 
      System.out.println(o.toString()); 
     } 

    } 

} 

哪裏mw-content是主要的股利。

+0

你如何實例化一個jsoup對象?我輸入了罐子,現在是什麼? – user3081246

+0

這是一個靜態方法,你只需要導入'import org.jsoup.Jsoup;' –

+0

即時通訊如何實現這個代碼。我應該將它與我以前的代碼一起使用嗎?或者這是單獨的? – user3081246