2010-03-02 73 views
0

我不知道什麼是做的最好的腳本語言以下: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

回答

2

最一般的答案是:使用您已熟悉的語言。如果您不懂任何語言,請選擇一種語言(此決定應基於比此任務更復雜的標準),然後將其用於任務。

我個人會使用Python與mechanize module。另外,從主觀上說,如果你對Python或PHP都不熟悉,那麼一定要選擇Python。它比PHP有更廣泛的用途,通常是開始編程的更好的語言。

+0

好吧,我會看看這個,謝謝 – flow 2010-03-02 16:57:41

0

其實語言很重要。你可以在Python或PHP中使用curl並完成工作。我已經在python和PHP中使用curl編寫了一個複雜的webform自動化腳本。如果你在那裏感覺舒適,那麼你可以從命令行執行它,然後把一個批處理文件或腳本放在一起。

cURL

0

的機械化庫可爲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作爲語言,然後根據您的需要選擇上述選項之一。

相關問題