Python, PHP ya da ne betik dili web etkileşimi görevleri otomatikleştirmek için en iyi nedir?

3 Cevap php

Ben şu yapmak için iyi bir betik dili ne olduğunu merak ediyorum:

Ben bu web sitesine gidin

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

ve giriş bir iki satır dize gibi:

ATGC
TATG

Daha sonra ben "Make NA" düğmesine basın, bu yüzden ben bunu indirmeden önce adını değiştirin ki, elde edilen dosyayı indirebilirsiniz.

Ben 10000 farklı giriş dizeleri için bunu yapmak istiyorum, bu yüzden kolayca (farklı adlarla) çıkan dosyaları indirebilirsiniz.

Ben derin bu çalışmaya başlamak için bu amaç için en iyi web komut dosyası (bu doğru isim mi?) Dili ne olduğunu merak ediyorum. Diğer insanların PHP veya Ruby çok daha iyi olduğunu düşünüyorum ederken, Python hakkında bir şeyler okudum. Ben sadece bir (benim amaçlar için ise yararlı) en samimi bilmek istiyorum.

Ayrıca bu fikrin uygulanması için bazı ipuçları duyacağız.

Şimdiden teşekkürler

3 Cevap

En genel cevabım şu olurdu: Zaten iyi bildiğiniz dili kullanın. Eğer herhangi bir dil bilmiyorsanız, bir bilgi (bu karar sadece bu görev daha karmaşık kriterlere göre yapılmalıdır) ve daha sonra görev için onu kullanmak için almak.

Şahsen ben mechanize module ile Python kullanmak istiyorsunuz.

Python veya PHP ne aşina iseniz Ayrıca, öznel bir not, kesinlikle Python almak. PHP çok daha genel bir kullanımı vardır, ve genellikle ile programlamaya başlamak için iyi bir dildir.

Aslında dili çok az önemli. Siz Python veya PHP birinde Kıvrılmaları kullanmak ve işi olabilir. Python ve PHP hem de kıvırmak kullanarak karmaşık bir webform otomasyon komut yazdım. Rahat orada ve o sadece birlikte bir toplu iş dosyası veya komut dosyası koymak ise Heck komut satırından bunu yapabilirdi.

cURL

Mechanize kütüphane, Perl, Python ve Ruby için kullanılabilir, ancak (kamuya) PHP için. Perl, orijinal ve Yakut ben kullandım tek, ben bütün kalbiyle tavsiye ederim sadece bir tanesidir. Bu yapmak istediğiniz almost bir şey yapacağız, ve HTML, XML, vb için harika bir ayrıştırma kütüphane Nokogiri, (Aslında bu Nokogiri ile iyi çalışır sadece iyi çalışır, ancak kullanır Nokogiri içten, kesinlikle sizin için mevcut Nokogiri tüm gerekecek.)

Bir eksiklik olsa da, var. Eğer bir siteye giriş yapmanız gerekir, ve site oturum tabanlı kimlik doğrulaması kullanır ve oturum tanımlama (yerine HTTP başlıklarını daha) tarayıcıda çalışır JavaScript tarafından ayarlanır, sonra AFAIK makineleştirmek ile bunu yapmak için hiçbir yolu yoktur.

Ruby böyle Capybara & gibi diğer bazı seçenekler var (Firefox, Chrome, IE, Safari ve muhtemelen de sürebilirsin) Selenyum. Aslında bir tarayıcı otomatik motorize kullanarak daha yavaş olacaktır, ancak makineleştirmek ile imkansız gibi görünen bazı şeyleri sağlayacaktır.

Ayrıca kullanım PhantomJS ve CasperJS içine bakmak olabilir. Onlar JavaScript ile yazılmış, çünkü bir oturum çerezi ayarlamak için JavaScript çalışan sorunu bir sorun olmamalı.

Yani kısacası, ben sizin ihtiyaçlarınıza bağlı olarak, daha sonra yukarıdaki seçeneklerden birini dili olarak Ruby veya JavaScript birini seçin, ve olacaktır.