本文共 865 字,大约阅读时间需要 2 分钟。
想要爬取数据,验证码是必须要过的一关,而如今绝大部分验证码都鬼精鬼精的,想要破解起来比较麻烦。
虽然Selenium这个自动化测试工具可以帮我们模拟用户行为,但是Selenium自带的一些标签可以让网站轻轻松松就识别出你是爬虫,直接把你干掉,那么该怎么绕过这一关呢?
我们可以使用Chrome的debug模式:
String path = "你的Chrome路径";String dir = "存储用户数据的路径";System.setProperty("webdriver.chrome.driver", "你的chromedriver.exe地址");Listcmd = new ArrayList<>();cmd.add(path);cmd.add("--user-data-dir="+ dir);cmd.add("--remote-debugging-port=9222");// 窗口启动最大化cmd.add("--start-maximized");ProcessBuilder process = new ProcessBuilder(cmd);try { process.start();} catch (IOException e) { throw e;}
ChromeOptions options = new ChromeOptions();options.setExperimentalOption("debuggerAddress","127.0.0.1:9222");ChromeDriver driver = new ChromeDriver(options);driver.get("http://www.baidu.com");
这样我们就通过Java打开了Chrome并且用Selenium成功连接,通过这种方式打开的浏览器不会带有Selenium的标签,也就不会被网站识别出来。
转载地址:http://kqfmf.baihongyu.com/