2012-09-15 23 views
5

Son zamanlarda BeautifulSoup ile pythonda web kazıyıcıları geliştirmekteyim. Şimdi Java'da hangi kütüphanelerin en çok tercih edildiğini bilmek istiyorum. Bazı aramalar yaptım, çoğunlukla JTidy ve JSoup'u görüyorum. Onların arasındaki fark ne?JTidy veya Jsoup for Java

+0

İlgili: http://stackoverflow.com/questions/5183748/tagsoup-vs-jsoup-vs-html-parser-vs-hotsax-vs – Vadzim

cevap

11

JTidy daha yaygın <div><span>text</div> den <div><span>text</span></div için, örneğin, kapanmamış etiketler gibi, bozuk veya arızalı bir HTML düzeltmek için, yani, düzenli HTML için kullanılır.

JSoup

, diğer taraftan, HTML ve bunun özü için parçaları ayrıştırmak için tam gelişmiş bir API sağlar. Öğeleri bulmak için selectors gibi jQuery'yi veya getElementById gibi JavaScript ile kullandığınız öğelere eşdeğer DOM methods kullanmanızı sağlar. JSoup'un gerçekten de Java'nın BeautifulSoup eşdeğeri olduğunu söyleyebilirim.

Örneğin, JSoup ile bir Vikipedi maddesinin birinci paragrafı ayıklamak için şunu kullanabilirsiniz aşağıdaki:

String url = "http://en.wikipedia.org/wiki/Potato"; 
Document doc = Jsoup.connect(url).get(); 
Elements paragraphs = doc.select(".mw-content-ltr p"); 
String firstParagraph = paragraphs.first().text(); 

Ya da bu çok kendi soruya gelen başlık çıkaramadık:

Document doc = Jsoup.connect("http://stackoverflow.com/questions/12439078/jtidy-or-jsoup-for-java").get(); 
String question = doc.select("#question-header a").text(); // JTidy or Jsoup for Java 

Güzel bir API, ha? :-)