原因: 我们利用selenium爬取很多网站都很方便,但是有的网站如知乎和淘宝会检测selenium.
这些网站如果直接通过selenium打开网站,selenium会携带一些指纹信息,如:window.navigator.webdriver
网站js通过检测类似的指纹信息,可以检测到你在使用自动化工具,就不让你登录
解决:这时我们可以利用chrome的远程调试结合selenium来遥控chrome进行绕过检测,这样不会携带指纹信息
1.首先 cmd 里面进入 chrome.exe的目录下(也可以把此目录设置为环境变量,这样就能在任意位置执行chrome.exe)
例如:cd C:\Program Files (x86)\Google\Chrome\Application
2.执行命令 ,打开chrome的远程调试模式
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
- 注意端口不要被占用,防火墙要关闭
- user-data-dir:指定配置文件目录
3.编写代码利用selenium远程控制chrome的debug
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('debuggerAddress','127.0.0.1:9222')
browser = webdriver.Chrome(executable_path="D:\soft\PY\chromedriver.exe",chrome_options=chrome_options)
browser.get('http://www.taobao.com')
4.这样知乎淘宝就检测不到selenium指纹信息了,可以开爬了
————————————————
版权声明:本文为CSDN博主「寸草心2130」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35531549/article/details/89023525