2012-06-21 78 views
1

我試圖讓這個代碼的結果是這樣的:的Java Jsoup webscraping

標題:奔10的終極異形

評論:taseen_shafquattaseen_shafquat:有沒有去吶的 這個系列賽第4季

標題:晃

評論:dragon3476dragon3476:我最喜歡的動畫之一 優秀位Ø工作和我的第300腕錶,我仍然有從,當它來到了 原單海報+ DVD及VID,甚至 T恤所以是我什麼都不能說不好這樣一個偉大的 動畫5/5

但是,我明白了這樣代替:

標題:奔10的終極異形

標題:taseen_shafquattaseen_shafquat:有沒有去吶的 這個系列賽第4季

標題:晃

標題:dragon3476dragon3476:我最喜歡的動畫優秀 位Ø工作和我的第300手錶一個,我還是得到了原單海報 從出來時+ DVD及VID,甚至第t恤所以是我 什麼都不能說不好這樣一個偉大的動畫5/5

代碼

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

import java.io.*; 
import java.util.List; 

public class WebScraper { 

    public static void main(String[] args) throws Exception { 
     String url = "http://www.1channel.ch/latest_comments.php"; 
     Document doc = Jsoup.connect(url).get(); 
     for (Element E : doc.select("div.latest_comments > a, div.latest_comments > p")) { 

     System.out.print("title: "+ E.getElementsByTag("a").text()); 
     System.out.println( E.getElementsByTag("p").text()); 
      // System.out.println(T); 
      System.out.print("\n"); 

      try 
      { 
      PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("/Users/samualdoku/Desktop/Twitter/scraped.txt", true))); 
      out.println(E.text()); 
      out.close(); 
      } catch (IOException e) { 
      } 
     } 

    } 

} 

而且這是我試圖刮的HTML。我認爲問題在於span內的href標籤。它包含評論者用戶名。我爲標題調用了getElementsByTag("a"),因爲標題在一個定位標記內。我該如何擺脫span標籤,因爲它在用戶名前打印標題,而不應該如此。

<div class="latest_comments com_class_tv"> 
    <a href="/tv-2733767-Dallas/season-1-episode-3">Dallas</a> 
    (6 minutes ago) 
    <p> 
     <span class="latest_comments_poster"> 
      <a href="/profile/jowar">jowar</a> 
      : 
     </span> 
     i just started watchin...eeing as its 34nyrs old 
    </p> 
</div> 

回答

0

試試這個

public static void main(String[] args) throws Exception { 
String url = "http://www.1channel.ch/latest_comments.php"; 
Document doc = Jsoup.connect(url).get(); 
for (Element E : doc.select("div.latest_comments)) { 

    System.out.print("title: "+ E.select("a").text()); 
    System.out.println("comment: " + E.select("p").text()); 

} 
} 
+0

謝謝!運作良好! – user872009