目的
Javaコードを介してTaobaoの自動ログインを実現し、設定を取得してセットされたログイン情報を自動的に入力して送信したいと思います。現在、このコードは編集者によってテストされており、渡すことができます。 Taobaoが将来対応するブロッキング戦略を持っているかどうかはわかりません。
コード共有:
パッケージUtil; Import org.openqa.selenium.by; Import org.openqa.selenium.webelement; import org.openqa.selenium.firefox.firefoxdriver; Import org.openqa.selenium.firefox.firefoxoptions; java.io.file; Import java.util.random; public class testcase2 {public static void main(string [] args){system.setProperty( "webdriver.firefox.bin"、 "、" c://プログラムファイル// mozilla firefox // firefox.exe "); System.setProperty( "webdriver.gecko.driver"、 "c://users//18431//ideaprojects//seleniumdemo//bin//geckodriver.exe"); firefoxoptions options = new firefoxoptions(); firefoxprofileプロファイル= new firefoxprofile(new file( "c://users//18431//appdata//roaming//mozilla//firefox//profiles//efzu2oem.default")); options.setProfile(プロファイル); firefoxdriverドライバー= new firefoxdriver(); driver.get( "https://login.m.taobao.com/login.htm"); //次のことは通常の操作を完全にシミュレートするように開始するため、多くの睡眠操作WebElement usernameelement = driver.findelement(by.id( "username"))が表示されます。 //ユーザーのシミュレーションユーザー名をクリックしますinputボックスusernameelement.click(); string username = "18588260144"; //携帯電話番号文字列パスワード= "xxxxxxxxxxxx"; //パスワードランダムrand = new Random(); try {for {for(int i = 0; i <username.length(); i ++){thread.sleep(rand.nextint(1000)); //ランダムスリープ0-1秒//単一文字を入力します。 } webElement passwordElement = driver.findelement(by.id( "password")); PasswordElement.Click(); //ユーザー名を入力した後、0〜3秒間ランダムにスリープスレッド(rand.nextint(3000)); for(int i = 0; i <password.length(); i ++){thread.sleep(rand.nextint(1000)); PasswordElement.sendkeys( ""+password.charat(i)); } driver.findelement(by.id( "btn-submit"))。click(); } catch(Exception e){e.printstacktrace(); } try {thread.sleep(300000); } catch(arturnedexception ie){ie.printstacktrace(); } driver.quit(); }}要約します
ログインをシミュレートすることがどんなに難しいとしても、人間の運用習慣を完全にシミュレートして反クローラーを実装することができることがわかります。さて、私はあなたにすべてを言います。 PHP Crawlerテクノロジーは、執筆を継続するために計画されていません。 PHPを使用して適切なことをする方が良いと感じています。 PHPで書かれているクローラーレベルは低すぎて、PythonとJavaにとっては優れています。