本文仅供学习交流使用,如侵立删!demo下载见文末

之前我们提到目前网上的反检测方法几乎都是掩耳盗铃,因为模拟浏览器有几十个特征可以被检测,仅仅隐藏 webdriver 这一个值是没有任何意义的。
解决这个问题的关键,就是一个 js 文件,叫做stealth.min.js

stealth.min.js文件生成
这个stealth.min.js文件是怎么来的呢?这就要说到puppeteer了。我们知道,Python 版本的pyppeteer已经很久没有人维护了,但是Node.js 版本的 puppeteer持续有人维护,并且在持续更新,生态也越来越好。
有开发者给 puppeteer 写了一套插件,叫做puppeteer-extra。其中,就有一个插件叫做puppeteer-extra-plugin-stealth[1]。这个东西,就来专门用来让 puppeteer 隐藏模拟浏览器的指纹特征。
这个东西是专门给 puppeteer 用的。所以,如果你使用的是 puppeteer,那么你可以根据它的 Readme说明,直接使用。
那么,我们用 Python 的人怎么办呢?实际上也有办法。就是把其中的隐藏特征的脚本提取出来,做成一个单独的 js 文件。然后让 Selenium 或者 Pyppeteer 在打开任意网页之前,先运行一下这个 js 文件里面的内容。
puppeteer-extra-plugin-stealth的作者还写了另外一个工具,叫做extract-stealth-evasions[2]。这个东西就是用来生成stealth.min.js文件的。

Selenium 反反爬检测方案(利用js隐藏浏览器特征)相关推荐

  1. python +selenium+phantomjs 登录爬取新浪微博动态js页面

    登录新浪微博 最近新浪微博好烦,都取消不了验证码这个难搞得东西,而且跳来跳去,一改版以前的代码就都不能用了.目前整理的资料有三种方法: 1. 设Cookie:简单粗暴,免去了模拟登录的好多麻烦,只是要 ...

  2. 针对淘宝反selenium的反反爬措施详讲1-----pyautogui

    现在某猫和某宝在反反selenium的道路上越越来恶毒了,大部分是检测webdriver的关键符(网上有很多介绍这里就不一一介绍了)当我们遇到反selenium那该怎么办??????????????? ...

  3. 已解决selenium框架接管已经打开的谷歌浏览器(Python反反爬教程,亲测有效)

    已解决selenium框架接管已经打开的谷歌浏览器(Python反反爬教程,亲测有效) 文章目录 问题描述 解决方法 千人全栈VIP答疑群联系博主帮忙解决报错 问题描述 使用selenium自动化测试 ...

  4. selenium:反反爬拖动验证码

    前言 springboot 2.0.0.RELEASE selenium-java 3.9.1 chromedriver win32 2.33 chrome 62.0.3202.94 你已经可以编写s ...

  5. 【待继续研究】如何运用机器学习技术构建可行的反欺诈检测方案?

    反欺诈方向的实际应用很多,我有做过保险业反欺诈和零售快消业的欺诈检测,抛砖引玉的谈谈反欺诈项目的"道"和"术". 1.背景 - 为什么反欺诈检测难度很高? 反欺 ...

  6. 反爬终极方案总结---字体反爬

    最近临时受命,要针对采集我司网站的爬虫进行反制.虽然不太熟悉这个领域,但既然分到咱这儿了,那就上呗,有啥说的,谁让咱是"全栈工程师"呢(牛逼吹的大了点). 原本公司已经有了一套字体 ...

  7. selenium网络爬虫去哪儿机票利用performance获取日志截获加载的xhr,ajax,js等数据

    这次练习获取的网站使用了许多反爬技术: 1.html页面使用了css字体偏移 2.xhr加载有webdriver反爬检测 3.请求接口使用了多项加密参数以及cookie验证 4.部分js代码用了ob混 ...

  8. python爬虫反爬 css 知乎 专栏_反反爬虫系列(四)

    过完年,好了,咱们接着更新反反爬虫系列 至于之前有朋友表示出一下1688呀,x宝的反反爬虫 说实在的,阿里系的反爬虫很厉害,我自愧不能搞定. 比如x宝的登录,用了selenium + chrome的朋 ...

  9. 某Boss招聘网站的反反爬机制详解

    近日出于学习的目的对某Boss网站的反爬机制进行了分析和逆向,终于完全搞定了,记录总结下方便日后学习! 本代码请仅用于 纯技术研究的 用途,请勿用于商业用途或 非法用途,如果因使用者非法使用造成的法律 ...

最新文章

  1. 配置管理漫漫谈之CCB
  2. 【Tiny4412】EMMC启动最小网络文件系统
  3. 因特网 以太网 互联网的含义及区别
  4. 01-MySQL安装、配置和使用
  5. 如何制作圆角布局..?
  6. 矩阵(二维数组)的性质在算法求解中的应用
  7. Linux 操作系统启动流程以及trouble shooting
  8. exif viewer java,1earn/XSS挑战-WalkThrough.md at master · dizhaung/1earn · GitHub
  9. 完整的安全方案需要参考的几个方面
  10. Windows8下设置VS默认启动方式为管理员启动
  11. mysql客户端导出数据_mysql客户端导出数据表的方法
  12. 《信号与系统》(吴京)部分课后习题答案与解析——第七章(PART2)(系统及系统分析)
  13. 安装AdventureWorks2008R2示例数据库
  14. 破解电视盒 运营商送的,各种型号。通用 TTL 破解电视盒,更新华为悦盒
  15. 关于AFNetworking上传图片问题
  16. 微信小程序:九宫格抽奖
  17. 一文了解什么是嵌入式?
  18. USB core(一) - rh_queue_status与rh_call_control
  19. 生成EAN13条码(C语言实现)
  20. 那些像段子一样的生活经历1csdn

热门文章

  1. OK335xS CAN device register and deiver match hacking
  2. Collections.sort()的使用
  3. asp.net源碼坊論壇上線
  4. .net c# 序列化和反序列
  5. App.Config详解
  6. 寻找数组中第二大或第二小的数值
  7. “斐波那契数列”的两种算法
  8. 常见mysql性能优化方法
  9. redis之intset
  10. ISR:中断服务程序需要满足的要求