我想要创建一个爬虫扫描一个单一的网页,并给我一封电子邮件,以防有什么问题在页面上(该页面持有一些web服务器的状态/下降)。
用什么语言来编写这样的服务?
我考虑过PHP或Python,但由于它们是解释语言(+PHP有运行脚本的最大时间限制),我认为它们不是最适合这样做的。
此外,C/C++不是一个选项。我在考虑Java,因为它有线程,我可能需要它,但我不确定。
发布于 2013-02-05 13:59:15
用你最舒服的语言就行了。这种应用程序不受CPU/内存的限制。
你刚才提到了Python。这是被解释的,但我真的不明白为什么这会是一个问题。Youtube/旋风/Django/等等运行Python。您想要的所有特定用途的东西都已经可以作为模块(daemonize、http等)使用了。
PHP似乎不是一个很好的适合,因为您提到的限制,也因为您需要apache (不是完全正确,但无论如何)。不过,这是有可能的。
Java也非常适合。您还可以将流程去功能化,并使用现有的库。
C/C++看起来有点多,但是有了可用的库,您应该能够非常快地生成一些工作代码。
正如管理工作所强调的,bash也适合.
嗯,你猜到了,我的意思是,对于这种应用程序,没有“最好的语言”。有一个语言家族已经实现了某种类型的http_client库和其他语言库。您的CPU和内存没有受到限制。你可以享受你想要的语言。)但是一般来说,如果这是您的服务器,检查您的web服务是否正常,应该在内部进行检查(cron作业、nagios等等)。从您的家中,您可能只是想要平服务器,看看硬件是否已经启动和响应。
发布于 2013-02-05 18:48:43
我要做的是用脚本语言(如Perl或Python )编写它,然后在需要时扩展到Java,以寻找更好的并发管理等特性。你总是想用最简单的工具来做这份工作,如果你需要的话,你可以扩大规模。我非常喜欢这两种语言,尽管我更了解Java,但在诉诸Java之前,我总是试图解决Perl中的任何问题。Perl是脱机工作负载处理的最佳选择,特别是单线程处理。
另一个要问的问题是,对于特定的应用程序,API的可用性,尽管现在几乎任何东西都有API和web服务。不过,我敢打赌Java的API比Perl还多。然而,我最近很失望,因为我无法为IBM找到Java。因此,对于某些版本管理统计和监视,我使用shell调用它们的CLI并将数据传递给Perl进行进一步处理。
https://unix.stackexchange.com/questions/63785
复制相似问题