反爬虫之利用chrome的debug模式破解不允许selenium模拟的网站

原因: 我们利用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指纹信息了,可以开爬了

你可能感兴趣的:(爬虫)