最近我一直在用 BeautifulSoup 在 python 中开发网络爬虫。现在我想知道在 Java 中哪些库是最受欢迎的。我做了一些搜索,主要是看到 JTidy 和 JSoup。它们之间有什么区别?
问问题
4368 次
1 回答
12
JTidy
更常用于整理HTML,即修复格式错误或错误的 HTML,例如未闭合的标签,例如 from<div><span>text</div>
到<div><span>text</span></div
.
JSoup
另一方面,它提供了一个完整的 API 来解析 HTML并提取其中的一部分。它允许您使用类似 jQuery 的选择器来查找元素或DOM
方法,这与您在 JavaScript 中使用的方法相同,例如getElementById
. 我想说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,嗯?:-)
于 2012-09-15T16:32:44.030 回答