当前位置: 移动技术网 > IT编程>开发语言>Java > JAVA爬虫实现自动登录淘宝

JAVA爬虫实现自动登录淘宝

2019年07月19日  | 移动技术网IT编程  | 我要评论

目的

想通过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 更好些。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网