我希望在Groovy中开发一个网络爬虫(使用Grails框架和MongoDB数据库),它能够抓取网站,创建网站url及其资源类型、内容、响应时间和所涉及的重定向数量的列表。
我正在讨论JSoup vs Crawler4j。我读过他们的基本工作,但我不清楚两者之间的区别。谁能建议哪一个将是一个更好的上述功能?还是将两者进行比较是完全不正确的?
谢谢。
Crawler4J是一个爬虫,Jsoup是一个解析器。实际上你可以/应该两者都用。Crawler4J是一个简单的多线程接口,可以获取所需站点的所有url和所有页面(内容)。之后,您可以使用Jsoup来解析数据,使用惊人的(类似于jquery的)css选择器并对其进行实际操作。当然,您必须考虑动态(javascript生成)内容。如果你也想要这些内容,那么你必须使用其他包含javascript引擎(无头浏览器+解析器)的东西,如htmlunit或webdriver (selenium),它将在解析内容之前执行javascript。