最近、私は BeautifulSoup を使用して Python で Web スクレイパーを開発しています。ここで、Java で最も好まれるライブラリを知りたいと思います。私はいくつかの検索を行いました。ほとんどの場合、JTidy と JSoup が表示されます。それらの違いは何ですか?
4368 次
1 に答える
12
JTidy
より一般的には、HTMLを整理するために使用されます。つまり、〜などの閉じられていないタグなど、不正な形式または欠陥のあるHTMLを修正する<div><span>text</div>
ために使用され<div><span>text</span></div
ます。
JSoup
一方、HTMLを解析し、その一部を抽出するための本格的なAPIを提供します。これにより、セレクターのようなjQueryを使用して、JavaScriptで使用するものと同等の要素またはDOM
メソッドgetElementById
(など)を見つけることができます。JSoupは確かにJavaと同等のBeautifulSoupだと思います。
たとえば、JSoupを使用してウィキペディアの記事の最初の段落を抽出するには、次を使用できます。
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ですね。:-)
于 2012-09-15T16:32:44.030 に答える