5
最近我一直在用BeautifulSoup開發python中的web scrapers。現在我想知道哪些庫是Java中最受歡迎的。我做了一些搜索,主要是我看到了JTidy和JSoup。他們有什麼區別?針對Java的JTidy或Jsoup
最近我一直在用BeautifulSoup開發python中的web scrapers。現在我想知道哪些庫是Java中最受歡迎的。我做了一些搜索,主要是我看到了JTidy和JSoup。他們有什麼區別?針對Java的JTidy或Jsoup
JTidy
更常用於整齊的HTML,也就是說,要修復格式不正確或錯誤的HTML,如沒有結束的標記,例如,從<div><span>text</div>
到<div><span>text</span></div
。
JSoup
,在另一方面,提供了一個全面的API來解析HTML 和到提取份的它。它允許您使用像selectors這樣的jQuery來查找元素,或者DOM
methods,與您在JavaScript中使用的元素相同,如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,呃? :-)
相關:http://stackoverflow.com/questions/5183748/tagsoup-vs-jsoup-vs-html-parser-vs-hotsax-vs – Vadzim