8

我希望在 Groovy 中开发一个网络爬虫(使用 Grails 框架和 MongoDB 数据库),它能够爬取网站,创建网站 URL 列表及其资源类型、内容、响应时间和所涉及的重定向数量。

我正在讨论 JSoup 与 Crawler4j。我已经阅读了他们基本上所做的事情,但我无法清楚地理解两者之间的区别。任何人都可以建议对于上述功能哪个更好?或者将两者进行比较是完全不正确的?

谢谢。

4

1 回答 1

15

Crawler4J是爬虫,Jsoup是解析器。实际上,您可以/应该同时使用两者。Crawler4J 是一个简单的多线程接口,可以获取您想要的站点的所有 url 和所有页面(内容)。之后,您可以使用 Jsoup 来解析数据,使用惊人的(类似 jquery 的)css 选择器并实际使用它做一些事情。当然,您必须考虑动态(javascript 生成)内容。如果您也想要该内容,那么您必须使用包含 javascript 引擎(无头浏览器 + 解析器)的其他东西,例如htmlunitwebdriver(selenium),它将在解析内容之前执行 javascript。

于 2014-06-24T05:11:49.903 回答