python学习交流公众号 Hello Python上线啦,欢迎关注
一:selenium 特征值是什么?及特征值监测意义
selenium是爬虫常用的手段之一,绕过各种js懒加载,模拟用户操作,拖动滑块验证码等,如某宝就有selenium 检测,当使用selenium去某宝或其他网站进行爬虫或者模拟登陆时,会出现滑动验证码,并且无论是用ActionChains滑还是手动滑,都会很委婉的告诉你“哎呀网络错误,请刷新”等等。
打开终端 console,输入 window.navigator.webdriver 可见返回true
selenium特征值有很多:
- window.navigator.webdriver
- window.navigator.languages
- window.navigator.plugins.length
二:selenium特征值检测时间,以webdriver 为例
前端加入如下js代码
var selenium_tag = window.navigator.webdriver;
if (selenium_tag == true){
alert('你是机器人')
}
再使用selenium 进入页面时,就会监测到。
三:问题与探讨
1.selenium 特征值很多种,尽量都加入检测或检测多种,部分爬虫会通过selenium提前执行js的方式,抹去部分特征值
2.页面中加入跳转页面等操作,如a标签内href 跳转页面会优先执行页面js,避免js抹去指纹的问题
近期爬虫栏目将发布爬虫如何绕过selenium检测。