【问题标题】:JTidy or Jsoup for Java用于 Java 的 JTidy 或 Jsoup
【发布时间】:2012-09-08 11:28:26
【问题描述】:

最近我一直在用 BeautifulSoup 在 python 中开发网络爬虫。现在我想知道在 Java 中哪些库是最受欢迎的。我做了一些搜索,主要是看到 JTidy 和 JSoup。它们有什么区别?

【问题讨论】:

标签: java screen-scraping web-scraping web-crawler


【解决方案1】:

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 提取 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,是吗? :-)

【讨论】:

    猜你喜欢
    • 2015-06-02
    • 2013-02-10
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多