Groovy中的爬虫程序(JSoup VS Crawler4j)

Groovy中的爬虫程序(JSoup VS Crawler4j),jsoup,web-crawler,crawler4j,Jsoup,Web Crawler,Crawler4j,我希望在Groovy中开发一个web爬虫程序(使用Grails框架和MongoDB数据库),它能够对网站进行爬网,创建一个网站URL列表及其资源类型、内容、响应时间和涉及的重定向数量 我在辩论JSoup和Crawler4j。我读过他们的基本工作,但我不能清楚地理解两者之间的区别。有人能建议哪一个更适合上述功能吗?还是将两者进行比较是完全错误的 谢谢。是一个爬虫,是一个解析器。实际上你可以/应该两者都用。 Crawler4J是一个简单的多线程接口,用于获取您想要的站点的所有URL和所有页面(内容)

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

我在辩论JSoup和Crawler4j。我读过他们的基本工作,但我不能清楚地理解两者之间的区别。有人能建议哪一个更适合上述功能吗?还是将两者进行比较是完全错误的

谢谢。

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

我的想法与此完全相同。我实际上需要一个爬虫程序和一个解析器。Crawler可能是crawler4j,但对于解析器,我持怀疑态度。JSoup比其他解析器“更Groovier”。Htmlunit在几种情况下失败,这些情况下有“任何不平凡的”javascript。此外,从用户评论来看,它显然适用于<50%的网站。也许是webdriver。我没用过它,但我听说过一些很棒的东西。我一直在研究如何将selenium web驱动程序与JSoup集成。谢谢你的建议。我刚刚尝试了
Jsoup
,并注意到它也可以用作爬虫-检索网页内容。因此,请您澄清
Crawler4J
Jsoup
之间的区别。Jsoup有一个非常简单的界面来获取内容。这为您提供了一种实现爬虫程序的方法,但不会使Jsoup成为爬虫程序。它的主要目的是完成爬行之后的工作,即解析。