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

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

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

一、什么是selenium

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

二、准备工作

  • 安装Chrome
  • 下载对应版本的chromedriver.exe
2.1 chrome 查看版本
bash 复制代码
# chrome地址栏输入下面的内容即可查看
chrome://version/
2.2 下载对应版本的chromedriver.exe
  • 上下2图的版本号要对应上(最新版本的chrome的driver可能还没有)
2.3 一组对应上的chrome和driver
  • 微信搜索"数字续坚",在"资源"TAB页面,输入"selenium",然后复制百度网盘的下载地址
  • 注意:chrome会自动更新,建议安装chrome前,先在hosts文件中加入如下内容,屏蔽chrome的自动升级
bash 复制代码
127.0.0.1 update.googleapis.com

三、编码实现

  • 这里就不废话了,如下代码
java 复制代码
	// 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<Cookie> cookies = chromeDriver.manage().getCookies();
	String cookieStr = "";
	for (Cookie cookie : cookies) {
	    cookieStr += cookie.getName() + "=" + cookie.getValue() + ";";
	}
	//打印cookie结果
	System.out.println(cookieStr);

四、快速获取cookie的办法

  • 针对其他语言、其他系统或不想配置chrome+driver的兄弟,这里提供了快速获取的办法
  • 见文档。
相关推荐
Tigshop开源商城2 小时前
『物流设置+SEO优化』Tigshop开源商城系统 JAVA v5.8.26 版本更新!
java·开源商城系统·tigshop
Tigshop开源商城4 小时前
『订单税率+收货地址校验国家字段』功能上新|跨境运营更高效,Tigshop开源商城系统 JAVA v5.8.23 版本更新
java·开源商城系统·tigshop
REDcker4 小时前
C++变量存储与ELF段布局详解 从const全局到rodata与nm_readelf验证实践
java·c++·面试
kobesdu6 小时前
【ROS2实战笔记-19】ROS2 生命周期节点的启动顺序、状态转换陷阱与热备方案
java·前端·笔记·机器人·ros·ros2
neo_Ggx236 小时前
Maven 版本管理详解:SNAPSHOT、Release 与 Nexus 仓库的区别和影响
java·maven
matlabgoodboy6 小时前
软件开发定制小程序APP帮代做java代码代编写C语言设计python编程
java·c语言·小程序
江离w6 小时前
新版vibecoding项目初始化指令
java
tongluowan0076 小时前
Spring MVC 底层工作流程+源码分析
java·spring·mvc
java1234_小锋7 小时前
SpringBoot为什么要禁止循环依赖?
java·数据库·spring boot
折哥的程序人生 · 物流技术专研8 小时前
《Java 100 天进阶之路》第17篇:Java常用包装类与自动装箱拆箱深入
java·开发语言·后端·面试