用于Java的JTidy或Jsoup

时间:2012-09-15 16:23:21

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

最近我一直在使用BeautifulSoup在python中开发web scraper。现在我想知道Java中最喜欢哪些库。我做了一些搜索,主要是看到JTidy和JSoup。他们之间有什么区别?

1 个答案:

答案 0 :(得分:11)

JTidy更常用于整理 HTML,即修复格式错误或错误的HTML,例如来自{的未关闭标记{1}}至<div><span>text</div>

另一方面,

<div><span>text</span></div提供了一个完整的API,用于解析HTML 提取部分。它允许您使用selectors之类的jQuery来查找元素,或DOM methods,等同于您使用JavaScript的元素,例如JSoup。我说JSoup确实是BeautifulSoup的Java等价物。

例如,要使用JSoup提取Wikipedia文章的第一段,您可以使用以下内容:

getElementById

或者从这个非常自己的问题中提取标题:

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

相当不错的API,嗯? : - )