0

我是这种事情的新手,但我想创建一个机器人,它会每隔几个小时左右抓取某些站点并更新另一个站点(将其用于 NBA 统计数据)。

我不相信我会在编码机器人时遇到问题。我主要使用 java (Firefox 导航器插件、Java HTTP 请求和普通的旧 Robot 类。

我想寻求建议的是我应该在哪里以及如何维护/运行代码。

我想我需要把它放在某处的服务器上。我可以自己购买(最终需要),也可以在某个地方托管。有没有任何地方可以可靠地提供这项服务(也许是免费的)?

至于如何,有哪些常见的设置?我在 Java 中更自在,但我发现使用任何语言。我如何处理很长一段时间的不活动?我只是让线程睡觉吗?如果这是一个糟糕的解决方案,请原谅我的无知,但坦率地说,我在这件事上没有经验。我是否需要像 LAMP 堆栈这样完整的东西,或者我可以在没有这些的情况下舒适地度过吗?有哪些相对无痛的方法可以做到这一点?

4

1 回答 1

1

对于使用机器人爬取网站,我建议使用 Jsoup 或 Selenium 2。我会在自己的机器上进行爬取,但如果您需要将该信息发布到服务器或应用程序,则需要一台服务器那个。

通常,这种任务(每 x 次执行一次并睡眠 QUITE A WHILE)称为“cron-jobs”或简称为“crons”。

如果您的爬虫 24/7 全天候运行,则称为守护程序。

对于 crons,您需要某种调度(您希望它运行的频率)。如果您使用的是 Linux,那么 crontab 就是解决方案。在一个文本文件中,您指定程序运行的时间(例如每 n 分钟,或每天的某个时间,或某个月的某天等),操作系统将自动运行您的进程。

这样你的程序就可以完成它的工作并关闭,因为操作系统每次都会启动一个新的程序实例。

如果您没有 linux,我确定有 Windows 替代品。否则,有一个名为Quartz for java 的框架可以用于此目的。

唯一的问题是 java 程序将 24/7 运行,除了 Quartz 会不时调用你的类。

于 2012-04-14T18:40:39.853 回答