WebDriver被识别反爬虫解决办法(Chrome正受到自动化测试软件的控制)

WebDriver被识别反爬虫解决办法

    • WebDriver识别
      • WebDriver识别原理
      • WebDriver识别的绕过方法
    • 使用示例
      • 注意

们将爬虫的爬取过程分为网络请求,文本获取和数据提取3个部分。信息校验型反爬虫主要出现在网络请求阶段,这个阶段的反爬虫理念以预防为主要目的,尽可能拒绝爬虫程序的请求。动态渲染和文本混淆则出现在文本获取及数据提取阶段,这个阶段的反爬虫理念以保护数据为主要目的,尽可能避免爬虫获取到重要数据。

WebDriver被识别反爬虫解决办法(Chrome正受到自动化测试软件的控制)

WebDriver识别原理

页只要设置了检查webdriver的Javascript方法,就很容易发现爬虫。使用的方法就是Navigator对象的webdriver属性,用这个属性来判断客户端是否通过WebDriver驱动浏览器。如果监测到客户端的webdriver属性存在,则无法继续操作获取数据。selenium,Puppeteer都存在WebDriver属性。

测结果有3种,分别是true、false和undefind。当我们使用渲染工具有webdriver属性时,navigation.webdriver的返回值时true。反之则会返回false或者undefind。

WebDriver被识别反爬虫解决办法(Chrome正受到自动化测试软件的控制)

得一提的是,淘宝的登录滑块验证页面也是用到了这个方法,使用selenium套件操作滑块后会出现“哎呀,出错了,点击刷新再来一次”这样的提示。

注意

种修改该属性值的办法只在当前页面有效,当浏览器打开新标签或新窗口时需要重新执行改变navigator.webdriver值的JavaScript代码。

WebDriver被识别反爬虫解决办法(Chrome正受到自动化测试软件的控制)

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树网络爬虫Selenium208427 人正在系统学习中

来源:成都—大数据开发工程师—杨洋

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月7日
下一篇 2020年3月7日

相关推荐