Python,PHP或哪种脚本语言最适合自动化Web交互任务?

问题描述:

我不知道什么是做的最好的脚本语言以下:Python,PHP或哪种脚本语言最适合自动化Web交互任务?

我去这个网站

http://structure.usc.edu/make-na/server.html

,并输入一个两行字符串,如:

ATGC 
TATG 

之后我按下“Make NA”按钮,因此我下载了结果文件,在下载它之前更改名称。

我想为10000个不同的输入字符串做这个,所以我很容易下载结果文件(使用不同的名称)。

我不知道什么是最好的网络脚本(这是正确的名称?)语言为此目的,以开始深入研究这一点。我读了一些关于python的内容,而其他人认为PHP或Ruby更好。我只想知道最友好的(虽然对我的目的有用)。

此外,还有一些关于实施这个想法的提示将不胜感激。

在此先感谢

+1

您可能希望将其标记为“主观”。这些语言都没有优于此目的,或者更容易。无论你最熟悉哪一种方法都是最好的选择,因为真正的做法在每个方面都非常相似。 – JAL 2010-03-02 16:46:56

+0

最好的办法是不要在没有询问的情况下用10000+个请求来淹没他们的服务器。 – ebo 2010-03-02 16:47:04

+0

哪个曾经让你更加熟悉...... – Layke 2010-03-02 16:48:50

最一般的答案是:使用您已熟悉的语言。如果您不懂任何语言,请选择一种语言(此决定应基于比此任务更复杂的标准),然后将其用于任务。

我个人会使用Python与mechanize module。另外,从主观上说,如果你对Python或PHP都不熟悉,那么一定要选择Python。它比PHP有更广泛的用途,通常是开始编程的更好的语言。

+0

好吧,我会看看这个,谢谢 – flow 2010-03-02 16:57:41

其实语言很重要。你可以在Python或PHP中使用curl并完成工作。我已经在python和PHP中使用curl编写了一个复杂的webform自动化脚本。如果你在那里感觉舒适,那么你可以从命令行执行它,然后把一个批处理文件或脚本放在一起。

cURL

的机械化库可为Perl,Python和Ruby,但不能(公开)为PHP。 Perl是最初的,Ruby是我使用过的唯一一个,所以我唯一可以全心全意推荐的只有一个。它会做几乎任何你想做的事情,它与Nokogiri,这是一个非常棒的HTML,XML等解析库很好用(事实上它不仅适用于Nokogiri,但它在内部使用Nokogiri,所以你肯定会得到所有的Nokogiri。)

虽然有一个缺点。如果您需要登录到网站,并且该网站使用基于会话的身份验证,并且会话cookie由在浏览器中运行的JavaScript(而不是HTTP标头)设置,那么AFAIK无法使用Mechanize执行此操作。

在Ruby中,您还有其他几个选项,例如Capybara & Selenium(它可以驱动Firefox,Chrome,IE以及可能的Safari)。事实上,浏览器的自动化将比使用机械化更慢,但它会允许某些事情在Mechanize中看起来是不可能的。

你也可以看看使用PhantomJS和CasperJS。因为它们是用JavaScript编写的,所以运行JavaScript来设置会话cookie的问题应该不成问题。

简而言之,我会选择Ruby或JavaScript作为语言,然后根据您的需要选择上述选项之一。