如何绕过 Selenium 中的 Cloudflare bot 保护

Posted

技术标签:

【中文标题】如何绕过 Selenium 中的 Cloudflare bot 保护【英文标题】:How to bypass Cloudflare bot protection in selenium 【发布时间】:2021-07-24 05:41:12 【问题描述】:

出于教育目的,我需要从站点获取一些信息,但是由于保护,我无法发送请求。我得到了典型的 Checking-your-browser 页面首先出现,然后我被反复重定向。 我如何在 python selenium 中绕过这种保护?

【问题讨论】:

【参考方案1】:

我很久以前就遇到过这个问题,我能够解决它。使用下面的代码并享受:)

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=options, executable_path=r"webdriver\chromedriver.exe")

///////// 编辑////////////// 这种方式现在行不通了!

【讨论】:

通常,Cloudflare 验证大约需要 5 秒。您需要在获取 page_source 之前添加一个计时器。只需在 driver.page_source 之前添加 time.sleep(6)【参考方案2】:

2021 年 7 月解决方案

只需在 chrome 选项中添加用户代理参数并将用户代理设置为任何值

ops = Options() ua='cat' ops.add_argument('--user-agent=%s' % ua) driver=uc.Chrome(executable_path=r"C:\chromedriver.exe",chrome_options=ops)

【讨论】:

也不适用于此。我正在使用 fake_useragent 中的随机用户代理,但无法正常工作。

以上是关于如何绕过 Selenium 中的 Cloudflare bot 保护的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Selenium 和 Python 绕过 Google 验证码?

selenium:python如何绕过登录页面登录网页

如何使用 Selenium 和 Python 绕过带有 buster 扩展的 ReCaptcha

Selenium+Python自动化之如何绕过登录验证码

Python Selenium Cookie 绕过验证码实现登录

selenium打开网页被检测,怎么屏蔽和绕过