groovy和grails中的Web爬虫每天都在爬行

groovy和grails中的Web爬虫每天都在爬行,grails,groovy,web-crawler,Grails,Groovy,Web Crawler,我需要实现一个网络爬虫,每天爬到一个网站上获取数据。最好的方法是什么?我应该写一个groovy脚本并让它每天重复吗?如果我使用脚本,我就不能使用域类 有什么建议吗?我建议使用XmlSlurper从站点读取数据,在Grails的服务中创建数据,并使用Quartz插件进行调度。这样,您就可以访问Grails中的域模型,并且可以使用slurper的酷性来获取HTML。您可能还需要像Nekohtml这样的解析器 我建议使用XmlSlurper从站点读取数据,将其放在Grails中的服务中,并使用Quar

我需要实现一个网络爬虫,每天爬到一个网站上获取数据。最好的方法是什么?我应该写一个groovy脚本并让它每天重复吗?如果我使用脚本,我就不能使用域类


有什么建议吗?

我建议使用XmlSlurper从站点读取数据,在Grails的服务中创建数据,并使用Quartz插件进行调度。这样,您就可以访问Grails中的域模型,并且可以使用slurper的酷性来获取HTML。您可能还需要像Nekohtml这样的解析器

我建议使用XmlSlurper从站点读取数据,将其放在Grails中的服务中,并使用Quartz插件进行调度。这样,您就可以访问Grails中的域模型,并且可以使用slurper的酷性来获取HTML。您可能还需要像Nekohtml这样的解析器

我会创建服务,并通过Quartz和Cron作业对其进行调度

服务本身应该使用selenium进行爬网。根据需要爬网的站点,您可能需要检查浏览器对JavaScript的支持程度。梅:硒里的维生素e不会减少它

因此,您需要确保可以在Grails机器上安装Firefox或Chrome。 为了进一步将浏览器安装与服务器分开,您可以使用另一台机器作为Selenium网格节点,服务器作为网格中心,所有节点都连接在一起。 Grails服务现在不需要FirefoxDriver或ChromeDriver进行爬网,而是需要与Selenium节点通信的RemoteDriver

也许,为了分离爬虫程序和Grails应用程序的反馈,您可能需要使用消息传递系统。APMQ与apachecamel的结合将使您走得更远。
如果您使用Camel,请查看Camel如何帮助您使用Quartz

我将创建服务,并通过Quartz和Cron作业对其进行调度

服务本身应该使用selenium进行爬网。根据需要爬网的站点,您可能需要检查浏览器对JavaScript的支持程度。梅:硒里的维生素e不会减少它

因此,您需要确保可以在Grails机器上安装Firefox或Chrome。 为了进一步将浏览器安装与服务器分开,您可以使用另一台机器作为Selenium网格节点,服务器作为网格中心,所有节点都连接在一起。 Grails服务现在不需要FirefoxDriver或ChromeDriver进行爬网,而是需要与Selenium节点通信的RemoteDriver

也许,为了分离爬虫程序和Grails应用程序的反馈,您可能需要使用消息传递系统。APMQ与apachecamel的结合将使您走得更远。 如果您使用Camel,请查看Camel如何帮助您使用Quartz

您可以结合Quartz/服务解决方案尝试满足您的grab-n-slurp和解析需求。您可以结合Quartz/服务解决方案尝试满足您的grab-n-slurp和解析需求。