欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA爬蟲(chóng)實(shí)現(xiàn)自動(dòng)登錄淘寶

 更新時(shí)間:2018年04月01日 11:18:33   投稿:laozhang  
給大家分享一個(gè)關(guān)于JAVA爬蟲(chóng)的相關(guān)知識(shí)點(diǎn),通過(guò)代碼實(shí)現(xiàn)自動(dòng)登錄淘寶網(wǎng),有興趣的朋友測(cè)試下。

目的

想通過(guò)JAVA代碼實(shí)現(xiàn)淘寶網(wǎng)的自動(dòng)登錄,通過(guò)獲取設(shè)置的登錄信息自動(dòng)填寫(xiě)并提交。目前這個(gè)代碼是小編測(cè)試過(guò)的,可以通過(guò),后期不知道淘寶會(huì)不會(huì)有相應(yīng)的封堵策略。

代碼分享:

package util;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import java.io.File;
import java.util.Random;
public class TestCase2 {
  public static void main(String[] args)
  {
    System.setProperty("webdriver.firefox.bin","C:\\Program Files\\Mozilla Firefox\\firefox.exe");
    System.setProperty("webdriver.gecko.driver","C:\\Users\\18431\\IdeaProjects\\SeleniumDemo\\bin\\geckodriver.exe");
    FirefoxOptions options = new FirefoxOptions();
    FirefoxProfile profile = new FirefoxProfile(new File("C:\\Users\\18431\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\efzu2oem.default"));
    options.setProfile(profile);
    FirefoxDriver driver = new FirefoxDriver();
    driver.get("https://login.m.taobao.com/login.htm");
    //下面開(kāi)始完全模擬正常人的操作,所以你會(huì)看到很多 sleep 操作
    WebElement usernameElement = driver.findElement(By.id("username"));
    //模擬用戶點(diǎn)擊用戶名輸入框
    usernameElement.click();
    String username = "18588260144";//你的手機(jī)號(hào)
    String password = "xxxxxxxxxxx";//你的密碼
    Random rand = new Random();
    try {
      for (int i = 0; i <username.length() ; i++) {
        Thread.sleep(rand.nextInt(1000));//隨機(jī)睡眠0-1秒
        //逐個(gè)輸入單個(gè)字符
        usernameElement.sendKeys(""+username.charAt(i));
      }
      WebElement passwordElement = driver.findElement(By.id("password"));
      passwordElement.click();
      //輸入完成用戶名后,隨機(jī)睡眠0-3秒
      Thread.sleep(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 (InterruptedException ie){
      ie.printStackTrace();
    }
    driver.quit();
  }
}

總結(jié)

可以看出來(lái),萬(wàn)變不離其宗,再難的模擬登錄都是可以完全模擬人類(lèi)的操作習(xí)慣去實(shí)現(xiàn)反爬蟲(chóng)的,好吧,全都告訴你了,PHP 爬蟲(chóng)技術(shù)不打算繼續(xù)寫(xiě)下去了,感覺(jué)還是用 PHP 適合它做的事情比較好,PHP 寫(xiě)的爬蟲(chóng)段位太低,還是python 和 java 更好些。

相關(guān)文章

  • 一文帶你詳細(xì)認(rèn)識(shí)文件與Java中操作文件

    一文帶你詳細(xì)認(rèn)識(shí)文件與Java中操作文件

    文件處理是任何應(yīng)用程序的重要部分,Java 提供了許多用于創(chuàng)建、讀取、更新和刪除文件的方法,這篇文章主要給大家介紹了關(guān)于認(rèn)識(shí)文件與Java中操作文件的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • spring boot使用thymeleaf為模板的基本步驟介紹

    spring boot使用thymeleaf為模板的基本步驟介紹

    Spring Boot項(xiàng)目的默認(rèn)模板引擎是Thymeleaf,這沒(méi)什么好說(shuō)的,個(gè)人覺(jué)得也非常好,下面這篇文章主要給大家介紹了關(guān)于spring boot使用thymeleaf為模板的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • 全面詳解java代碼重構(gòu)與設(shè)計(jì)模式

    全面詳解java代碼重構(gòu)與設(shè)計(jì)模式

    這篇文章主要為大家介紹了全面詳解java代碼重構(gòu)與設(shè)計(jì)模式的全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Java版超大整數(shù)階乘算法代碼詳解-10,0000級(jí)

    Java版超大整數(shù)階乘算法代碼詳解-10,0000級(jí)

    這篇文章主要介紹了Java版超大整數(shù)階乘算法代碼詳解-10,0000級(jí),具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • spring+html5實(shí)現(xiàn)安全傳輸隨機(jī)數(shù)字密碼鍵盤(pán)

    spring+html5實(shí)現(xiàn)安全傳輸隨機(jī)數(shù)字密碼鍵盤(pán)

    這篇文章主要為大家詳細(xì)介紹了spring html5實(shí)現(xiàn)安全傳輸隨機(jī)數(shù)字密碼鍵盤(pán),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 創(chuàng)建自定義的Java注解類(lèi)的方法

    創(chuàng)建自定義的Java注解類(lèi)的方法

    這篇文章主要介紹了創(chuàng)建自定義的Java注解類(lèi)的方法,主要部分為創(chuàng)建一個(gè)帶有Java類(lèi)型@interface的新類(lèi)型,需要的朋友可以參考下
    2015-07-07
  • 詳解Spring AOP自定義可重復(fù)注解沒(méi)有生效問(wèn)題

    詳解Spring AOP自定義可重復(fù)注解沒(méi)有生效問(wèn)題

    本文主要介紹了Spring AOP自定義可重復(fù)注解沒(méi)有生效問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Mybatis-plus中的@EnumValue注解使用詳解

    Mybatis-plus中的@EnumValue注解使用詳解

    這篇文章主要介紹了Mybatis-plus中的@EnumValue注解使用詳解,在PO類(lèi)中,如果我們直接使用枚舉類(lèi)型去映射數(shù)據(jù)庫(kù)的對(duì)應(yīng)字段保存時(shí),往往就會(huì)因?yàn)轭?lèi)型不匹配導(dǎo)致映射失敗,Mybatis-plus提供了一種解決辦法,就是使用@EnumValue注解,需要的朋友可以參考下
    2024-02-02
  • 利用Spring Cloud Zuul實(shí)現(xiàn)動(dòng)態(tài)路由示例代碼

    利用Spring Cloud Zuul實(shí)現(xiàn)動(dòng)態(tài)路由示例代碼

    Spring Cloud Zuul路由是微服務(wù)架構(gòu)的不可或缺的一部分,提供動(dòng)態(tài)路由,監(jiān)控,彈性,安全等的邊緣服務(wù)。下面這篇文章主要給大家介紹了關(guān)于利用Spring Cloud Zuul實(shí)現(xiàn)動(dòng)態(tài)路由的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-09-09
  • SpringSecurity中的UserDetails和UserDetailsService接口詳解

    SpringSecurity中的UserDetails和UserDetailsService接口詳解

    這篇文章主要介紹了SpringSecurity中的UserDetails和UserDetailsService接口詳解,UserDetailsService 在 Spring Security 中主要承擔(dān)查詢系統(tǒng)內(nèi)用戶、驗(yàn)證密碼、封裝用戶信息和角色權(quán)限,需要的朋友可以參考下
    2023-11-11

最新評(píng)論