爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法

在爬虫或模拟请求时,特别是获取验证码的时候,反爬虫的网站的cookie或定期失效,复制出来使用是不行的为了应对这种方式,我们可能就需要像浏览器打开网站一样,取得它信任的cookieselenium就是一个很好的手段

一、什么是selenium

Selenium最初是一个自动化测试工具,Selenium可以驱动浏览器自动执行自定义好的逻辑代码,即通过代码完全模拟使用浏览器自动访问目标站点并操作,所以也可以用来爬虫。

二、准备工作

安装Chrome下载对应版本的chromedriver.exe

2.1 chrome 查看版本

# chrome地址栏输入下面的内容即可查看

chrome://version/

2.2 下载对应版本的chromedriver.exe

上下2图的版本号要对应上(最新版本的chrome的driver可能还没有)

2.3 一组对应上的chrome和driver

微信搜索“数字续坚”,在“资源”TAB页面,输入“selenium”,然后复制百度网盘的下载地址注意:chrome会自动更新,建议安装chrome前,先在hosts文件中加入如下内容,屏蔽chrome的自动升级

127.0.0.1 update.googleapis.com

三、编码实现

这里就不废话了,如下代码

// Java 代码

//目标网站的网址,也可以直接是验证码链接

String targetUrl = "https://www.baidu.com";

//设置chromedriver.exe的路径,下方是在当前目录下

System.setProperty("webdriver.chrome.driver", "./chromedriver100.exe");

ChromeDriver chromeDriver =new ChromeDriver();

chromeDriver.get(url);

//读取cookie

Set cookies = chromeDriver.manage().getCookies();

String cookieStr = "";

for (Cookie cookie : cookies) {

cookieStr += cookie.getName() + "=" + cookie.getValue() + ";";

}

//打印cookie结果

System.out.println(cookieStr);

四、快速获取cookie的办法

针对其他语言、其他系统或不想配置chrome+driver的兄弟,这里提供了快速获取的办法见文档。

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: