2012-09-15 3 views
5

最近私はPythonでBeautifulSoupを使ってWebスクレイパーを開発しています。今、私はどのライブラリがJavaで最も好まれているか知りたいです。私はいくつかの検索を行いました。ほとんどがJTidyとJSoupです。それらの違いは何ですか?Java用JTidyまたはJsoup

+0

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

答えて

11

JTidyは、より一般的に、すなわち、整頓 HTMLに使用さ<div><span>text</div>から<div><span>text</span></divに、例えば、そのような閉じられていないタグとして、不正な又は不良HTMLを修正します。

JSoupは、他の一方で、それのエキス部分にHTML を解析する本格APIを提供します。 selectorsのようなjQueryを使用して要素を検索するか、getElementByIdなど、JavaScriptで使用する要素と同等のDOM methodsを使用できます。 JSoupはJavaのBeautifulSoupに相当します。例えば、JSoupとWikipediaの記事の最初の段落を抽出するために、あなたは以下を使用することができ

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(); 

それとも、この非常に自身の質問からタイトルを抽出する:

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 

かなり良いAPI、ええ? :-)

関連する問題