JAVA爬蟲實現(xiàn)自動登錄淘寶
目的
想通過JAVA代碼實現(xiàn)淘寶網(wǎng)的自動登錄,通過獲取設(shè)置的登錄信息自動填寫并提交。目前這個代碼是小編測試過的,可以通過,后期不知道淘寶會不會有相應(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"); //下面開始完全模擬正常人的操作,所以你會看到很多 sleep 操作 WebElement usernameElement = driver.findElement(By.id("username")); //模擬用戶點擊用戶名輸入框 usernameElement.click(); String username = "18588260144";//你的手機號 String password = "xxxxxxxxxxx";//你的密碼 Random rand = new Random(); try { for (int i = 0; i <username.length() ; i++) { Thread.sleep(rand.nextInt(1000));//隨機睡眠0-1秒 //逐個輸入單個字符 usernameElement.sendKeys(""+username.charAt(i)); } WebElement passwordElement = driver.findElement(By.id("password")); passwordElement.click(); //輸入完成用戶名后,隨機睡眠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é)
可以看出來,萬變不離其宗,再難的模擬登錄都是可以完全模擬人類的操作習(xí)慣去實現(xiàn)反爬蟲的,好吧,全都告訴你了,PHP 爬蟲技術(shù)不打算繼續(xù)寫下去了,感覺還是用 PHP 適合它做的事情比較好,PHP 寫的爬蟲段位太低,還是python 和 java 更好些。
- JavaWeb使用Cookie模擬實現(xiàn)自動登錄功能(不需用戶名和密碼)
- java實現(xiàn)用戶自動登錄
- java驗證用戶是否已經(jīng)登錄 java實現(xiàn)自動登錄
- Java傳入用戶名和密碼并自動提交表單實現(xiàn)登錄到其他系統(tǒng)的實例代碼
- 詳解JavaEE使用過濾器實現(xiàn)登錄(用戶自動登錄 安全登錄 取消自動登錄黑用戶禁止登錄)
- java 驗證用戶是否已經(jīng)登錄與實現(xiàn)自動登錄方法詳解
- Java模擬新浪和騰訊自動登錄并發(fā)送微博
- java web實現(xiàn)自動登錄功能
- JavaWeb開發(fā)使用Cookie創(chuàng)建-獲取-持久化、自動登錄、購物記錄、作用路徑
- java web實現(xiàn)自動登錄
相關(guān)文章
spring boot使用thymeleaf為模板的基本步驟介紹
Spring Boot項目的默認(rèn)模板引擎是Thymeleaf,這沒什么好說的,個人覺得也非常好,下面這篇文章主要給大家介紹了關(guān)于spring boot使用thymeleaf為模板的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01Java版超大整數(shù)階乘算法代碼詳解-10,0000級
這篇文章主要介紹了Java版超大整數(shù)階乘算法代碼詳解-10,0000級,具有一定借鑒價值,需要的朋友可以參考下2018-01-01spring+html5實現(xiàn)安全傳輸隨機數(shù)字密碼鍵盤
這篇文章主要為大家詳細(xì)介紹了spring html5實現(xiàn)安全傳輸隨機數(shù)字密碼鍵盤,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04詳解Spring AOP自定義可重復(fù)注解沒有生效問題
本文主要介紹了Spring AOP自定義可重復(fù)注解沒有生效問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08Mybatis-plus中的@EnumValue注解使用詳解
這篇文章主要介紹了Mybatis-plus中的@EnumValue注解使用詳解,在PO類中,如果我們直接使用枚舉類型去映射數(shù)據(jù)庫的對應(yīng)字段保存時,往往就會因為類型不匹配導(dǎo)致映射失敗,Mybatis-plus提供了一種解決辦法,就是使用@EnumValue注解,需要的朋友可以參考下2024-02-02利用Spring Cloud Zuul實現(xiàn)動態(tài)路由示例代碼
Spring Cloud Zuul路由是微服務(wù)架構(gòu)的不可或缺的一部分,提供動態(tài)路由,監(jiān)控,彈性,安全等的邊緣服務(wù)。下面這篇文章主要給大家介紹了關(guān)于利用Spring Cloud Zuul實現(xiàn)動態(tài)路由的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09SpringSecurity中的UserDetails和UserDetailsService接口詳解
這篇文章主要介紹了SpringSecurity中的UserDetails和UserDetailsService接口詳解,UserDetailsService 在 Spring Security 中主要承擔(dān)查詢系統(tǒng)內(nèi)用戶、驗證密碼、封裝用戶信息和角色權(quán)限,需要的朋友可以參考下2023-11-11