1、前言

码工人之歌

  码工人,码工魂,码工人才是人上人。

  码工人你不要哭,因为……骑电瓶车的时候,擦眼流水儿不安全。

  码工人996写代码少活十年,而不写代码一天都活不下去。

2、问题

  噗哈哈,开个玩笑。首先回顾前两篇selenium系列selenium爬虫使用了代理为什么还是被服务器判定为机器人?以及selenium爬虫使用代理情况下不设置这几个参数,代理就白加了,正确的关闭webrtc以及设置成代理的时区和地理位置,可以很好的帮我们的浏览器伪装成正儿八经的正常浏览器,犹如滤镜可以把王大妈变身成风靡万千宅男的乔碧萝。但是,这还不够,风控系统有各种方式可以将你揪出来。所以应粉丝的要求,今天小码哥又双叒动笔了:

怎么如德芙般丝滑地去掉selenium烦人的webdriver痕迹?

3、原因

  原因很简单,我们使用selenium+chromedriver启动chrome的时候,会在chrome的navigator以及document对象里注入一些属性,如果web服务器返回的js代码里有对这些属性的检测,那我们就会被识别为机器人在访问。

《2021测试开发各大机构最新全套教程》:https://pan.baidu.com/s/17jkyGn-Wm-zC6QQLkWjrsw 
  提取码:o94n 

4、解决方案

  解决方案逻辑上很简单,就是selenium额外加了什么我们去除掉什么。

  我们先上没有去掉webdriver的selenium代码,访问:https://bot.sannysoft.com/

from selenium import webdriverchrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)
chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
chrome_options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36')
driver = webdriver.Chrome("./chromedriver", chrome_options=chrome_options)
driver.get("https://bot.sannysoft.com/")

  测试结果截图:

  我们可以看到,webdriver被检测出来了,也就是说服务器知道你使用了selenium访问其网站。

  我们上去掉webdriver的代码的selenium代码

from selenium import webdriverchrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)
chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
chrome_options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36')
chrome_options.add_argument("disable-blink-features=AutomationControlled")#就是这一行告诉chrome去掉了webdriver痕迹
driver = webdriver.Chrome("./chromedriver", chrome_options=chrome_options)
driver.get("https://bot.sannysoft.com/")

  测试结果截图:

  我们可以看到通过在chrome启动的时候加一个disable-blink-features=AutomationControlled的flag就可以实现降维打击,移除掉webdriver的痕迹,妈妈再也不用担心你加班了……

如果你们认为做到以上:关闭webrtc、设置浏览器时区和地理位置、去掉webdriver就高枕无忧了吗?

  No,这还不够,服务器还能揪出你,你只能给老板发送以下短信。

然后继续加班。 想知道更多的反检测方式,咱们下期见!

selenium爬虫:一行代码去掉所有webdriver痕迹相关推荐

  1. python 一行代码去掉emoji表情符号

    安装python 包 pip install emoji 使用方法 import emoji res = "".join(emoji.replace_emoji("I

  2. idea+selenium代码_你试过使用selenium爬虫抓取数据吗

    ▼ 关注测试局| 会上瘾 写在前面 本来这篇文章该几个月前写的,后来忙着忙着就给忘记了. ps:事多有时候反倒会耽误事. 几个月前,记得群里一朋友说想用selenium去爬数据,关于爬数据,一般是模拟 ...

  3. python selenium爬虫代码示例_python3通过selenium爬虫获取到dj商品的实例代码

    先给大家介绍下python3 selenium使用 其实这个就相当于模拟人的点击事件来连续的访问浏览器.如果你玩过王者荣耀的话在2016年一月份的版本里面就有一个bug. 安卓手机下载一个按键精灵就可 ...

  4. Python爬虫仅需一行代码,熟练掌握crawl第三方库

    simple_crawl 仅需一行代码即可达到爬虫效果 使用方法 私信小编01即可大量获取Python学习资料 pip install simple_crawl 以下源代码为简单介绍,详细功能介绍再源 ...

  5. Python爬虫仅需一行代码----crawl第三方库

    仅需一行代码写爬虫–simple_crawl simple_crawl 仅需一行代码即可达到爬虫效果 项目地址(欢迎star):https://github.com/Amiee-well/crawl ...

  6. Python3,爬虫有多简单,一个库,一行代码,就OK, 你确定不来试试?

    爬虫进阶库:Scrapeasy 1. 引言 2.Scrapeasy 2.1 简介 2.1.1 Scrap 2.1.2 Scrapeasy 2.2 安装 2.3 代码示例 3.总结 1. 引言 小屌丝: ...

  7. 【Python奇淫技巧】用pandas的read_html函数仅一行代码实现网页爬虫

    目录 一.介绍read_html()函数 二.分析爬取目标页面 三.代码讲解 四.同步视频讲解 一.介绍read_html()函数 喜欢Python编程的小伙伴你知道吗,python的pandas库除 ...

  8. Python 技术篇-调用浏览器访问指定网页,一行代码实现。非Selenium。

    webbrowser 库就可以实现,非常简单方便!只要一行代码! 这个是我的博客主页. import webbrowser webbrowser.open('https://blog.csdn.net ...

  9. Crawlab运行selenium爬虫

    上篇文章学习了Crawlab运行scrapy爬虫和单文件爬虫,这次学习Crawlab运行selenium爬虫,我的例子是单文件的. 环境准备 Crawlab虽然自带了一些爬虫用的第三方库,但是不全,总 ...

最新文章

  1. C语言--static修饰变量
  2. 合并分支到master上
  3. ZOJ3370. Radio Waves(2-sat)
  4. Record of redevelopment of website
  5. ffmpeg转换格式
  6. linux驱动编写(电源管理驱动)
  7. 计算机知识太多了记不住,内容太多记不住?教你提高记忆力
  8. 【FPGA教程案例89】编译码2——使用vivado核实现RS信道编译码
  9. RFC5731 - 中文翻译(原创)
  10. 湖北专升本MySQL复习(MySQL数据库实用教程)——MySQL数据表的操作
  11. ios 使用AVFoundation从视频中提取音频
  12. JVM性能调优(4)——性能调优工具
  13. 【LeetCode刷题】二月汇总篇
  14. Oracle函数之LAG函数
  15. Linux下对文件权限的管理
  16. 知道创宇 二级安全公司 骗取面试人源码,长见识了啊。
  17. PID原理及python简单实现与调参
  18. bootstrap调整Glyphicons图标大小
  19. 用c语言编写简单的餐厅点餐系统(带后台)
  20. ps2021逆天滤镜库不登陆Adobe Id可以用吗?

热门文章

  1. 使用Bootstrap 3开发响应式网站实践04,使用Panels展示内容
  2. dfs深搜--八皇后问题
  3. Python3网络爬虫(一):利用urllib进行简单的网页抓取
  4. UG NX二次开发(C#)-曲线-创建样条曲线的几种方法
  5. 520运维侠客行·北京站传统IT运维转型之道圆满落幕
  6. 背景图片适应屏幕大小的一些方法
  7. quadratic weighted kappa计算公式
  8. ul li style
  9. 01-工厂模式Quarkus实现
  10. 如何友盟UAPM打磨优质的产品体验