1. selenium免登录剔除爬虫特征
selenium 免登录打开 Chrome 浏览器
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载.
未经授权,严禁转载,如需转,联系开白.
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关.
现在只对常读和星标的公众号才展示大图推送,建议大家把「雪之梦技术驿站」“设为星标”,否则下次可能看不到了!
1.1. 引言
在 Windows/Mac 上启动 Chrome 时追加参数是一种常用的技巧,可以帮助你自定义启动行为,比如无界面模式、指定配置文件、禁用某些功能等。
1.2. 场景
selenium 爬虫模拟人工操作可能会被某些网站识别出爬虫行为,或者抓取某些需要登录后才能访问的数据不想登录,就可以使用已登录的浏览器进行打开,这样就能避免上述行为.
例如: 人工访问爬虫识别网站https://bot.sannysoft.com/
如果是简单的 selenium 打开上述网站,检测结果如下:
from selenium import webdriver
driver = webdriver.Chrome()
# 反机器人检测
driver.get('https://bot.sannysoft.com')
driver.maximize_window()
time.sleep(random.randint(10, 30))
如果使用已打开的 Chrome 浏览器,selenium 自动化打开爬虫识别网站,检测通过!
1.3. 自定义 Chrome 浏览器启动行为
下面就详细说一下如何做到的,seleium 使用已打开的 Chrome 浏览器自动化.
思路: 提前打开 Chrome 浏览器(添加自定义启动行为),selenium 再连接到刚才的浏览器即可实现免登录真人工操作.
1.3.1. 第一步: 找到Google Chrome二进制文件
应用程序 > Google Chrome.app > 右键:显示包内容
Contents > MacOS > Google Chrome
1.3.2. 第二步: 添加启动参数自定义启动行为
如果是 windows 平台可参考下面命令自定义浏览器启动参数:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9500 --user-data-dir="C:\Users\Administrator\AppData\Local\google\Chrome\selenium"
如果是 Mac 平台可找到二进制文件,自定义参数定义浏览器启动行为:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9500 --user-data-dir="/Users/snowdreams1006/Documents/develop/chrome/selenium"
最后,提供一份selenium
连接远程浏览器的源码,仅供学习参考如下:
1.4. 总结
在使用 selenium 做浏览器自动化的过程中,经常性遇到被某些网站识别成爬虫而拒绝服务,或者某些登录网站比较麻烦,能直接连接到已登录的浏览器就能解决这类问题.
1.5. 推荐
- python 源码-好宝贝母婴每日签到赚积分
- 良心活动,无需实名,直接照抄答案就行,懂点 python 就能每天白嫖现金红包
- 懒人速成一分钟教你私人定制专属红包封面
- C 盘爆满飘红不用怕,教你三招搞定它,轻松释放几十 G 的磁盘空间!
- Mac 版本 Burpsuite 下载安装超详细教程,专业版中文激活教程(附下载)
- Burpsuite 下载安装超详细教程,社区版永久有效,专业版汉化激活到 2099 年,不看会后悔系列,亲测好用!
- 终极防窥秘籍!禁用右键+F12,竟还拦不住好奇宝宝?揭秘防窥新境界!
- 【硬核防白嫖秘籍】一键取关?直接拉黑,让你的公众号再无回头白嫖党!
- 谁家爬虫这么明目张胆?连 UserAgent 都不要了!
1.6. 关注
欢迎扫码关注,私信回复『加群』一起交流技术
作者: 雪之梦技术驿站
来源: 雪之梦技术驿站
本文原创发布于「雪之梦技术驿站」,转载请注明出处,谢谢合作!