JAVA爬虫实现自动登录淘宝
程序员文章站
2023-11-29 16:02:52
目的
想通过java代码实现淘宝网的自动登录,通过获取设置的登录信息自动填写并提交。目前这个代码是小编测试过的,可以通过,后期不知道淘宝会不会有相应的封堵策略。
代码分...
目的
想通过java代码实现淘宝网的自动登录,通过获取设置的登录信息自动填写并提交。目前这个代码是小编测试过的,可以通过,后期不知道淘宝会不会有相应的封堵策略。
代码分享:
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(); } }
总结
可以看出来,万变不离其宗,再难的模拟登录都是可以完全模拟人类的操作习惯去实现反爬虫的,好吧,全都告诉你了,php 爬虫技术不打算继续写下去了,感觉还是用 php 适合它做的事情比较好,php 写的爬虫段位太低,还是python 和 java 更好些。