2013-12-09 242 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