Skip to content
穿云API

穿云API

绕过Cloudflare Task/Turnstile/JS Challenge挑战

  • 穿云API
  • 产品
    • 绕过Cloudflare
    • 智能轮换代理IP
    • 数据代采集定制
  • 套餐价格
  • 穿云AP文档
    • API文档
    • 代码生成器
    • 穿云API常见问题
  • 提取IP代理
    • 提取API
    • IP代理常见问题
  • 使用教程
  • 合作伙伴
  • 联系我们
  • 登录
  • 注册
  • Toggle search form
201524351

穿云API > Chatgpt Cloudflare验证 > Python Selenium如何绕过cloudflare抓取网页

Python Selenium如何绕过cloudflare抓取网页

Posted on 2023年5月25日2024年4月30日 By 穿云API

和许多网站一样,Cloudflare也会对访问进行检测,看是否由Selenium bot发起。这种检测主要关注是否存在特有的js变量,如包含”selenium”、”webdriver”的变量,或者包含”$cdc_”、”$wdc_”的文件变量。

每个驱动程序的检测机制可能不同,以下的解决方案主要针对chromedriver。

1、使用Undetected-chromedriver 这是一个非常便利的包,可以直接通过pip进行安装。然后像下面这样初始化驱动程序,之后的操作就像常规的Selenium使用一样。

pythonCopy code
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get('https://nowsecure.nl')

2、直接修改chromedriver可执行文件 你可以将key变量更改为任意不包含”cdc”的字符。

javascriptCopy code
/**
 * Returns the global object cache for the page.
 * @param {Document=} opt_doc The document whose cache to retrieve. Defaults to
 *     the current document.
 * @return {!Cache} The page's object cache.
 */
function getPageCache(opt_doc, opt_w3c) {
  var doc = opt_doc || document;
  var w3c = opt_w3c || false;
  // |key| is a long random string, unlikely to conflict with anything else.
  var key = '$cdc_asdjflasutopfhvcZLmcfl_';
  if (w3c) {
    if (!(key in doc))
      doc[key] = new CacheWithUUID();
    return doc[key];
  } else {
    if (!(key in doc))
      doc[key] = new Cache();
    return doc[key];
  }
}

这两种方法在本质上没有太大的区别。实际上,undetected-chromedriver在启动chromedriver时会应用一个补丁,完成了修改key的步骤。

pythonCopy code
def patch_exe(self):
    """
    Patches the ChromeDriver binary
    :return: False on failure, binary name on success
    """
    logger.info("patching driver executable %s" % self.executable_path)
 
    linect = 0
    replacement = self.gen_random_cdc() #这里修改了cdc的名称
    with io.open(self.executable_path, "r+b") as fh:
        for line in iter(lambda: fh.readline(), b""):
            if b"cdc_" in line:
                fh.seek(-len(line), 1)
                newline = re.sub(b"cdc_.{22}", replacement, line)
                fh.write(newline)
                linect += 1 

3、使用穿云API,您可以轻松地绕过Cloudflare的机器人验证,即使您需要发送10万个请求,也不必担心被识别为抓取者。

一个穿云API即可突破所有反Anti-bot机器人检查,轻松绕过Cloudflare、CAPTCHA验证,WAF,CC防护,并提供了HTTP API和Proxy,包括接口地址、请求参数、返回处理;以及设置Referer,浏览器UA和headless状态等各浏览器指纹设备特征。

API文档 – 穿云API & 用户控制台 (cloudbypass.com)

Post Views: 2,390
Chatgpt Cloudflare验证, Chatgpt 绕过 Cloudflare, Cloudflare 5秒盾

文章导航

Previous Post: 绕过CloudFlare安全防护,用一个穿云API就够了。
Next Post: CloudScraper是Web爬虫项目必须吗?

相关文章

2023051937 1 如何利用后羿采集器和穿云API实现高效数据抓取? Chatgpt 绕过 Cloudflare
2015243515 1 Cloudflare机器人验证是什么?如何绕过Cloudflare验证? Chatgpt Cloudflare验证
2015243547 1 如何在Python中跳过Cloudflare防护:绕过Cloudflare的访问限制 Chatgpt Cloudflare验证
image 44 如何设置动态住宅IP以应对网络封锁? Chatgpt 绕过 Cloudflare
image 59 如何使用动态住宅IP加速网络爬虫 Chatgpt Cloudflare验证
IP轮换频率太快?会不会导致脚本抓取频繁被平台识别 Chatgpt Cloudflare验证

特别提醒

本博客内的文章不作为穿云API的功能展示和业务操作指导使用。

具体请查看穿云API详细说明文档和代码示例:查看穿云API文档

Telegram:@cloudbypasscom
联系我们领取免费试用

浏览最多的文章

  • Cloudflare JavaScript Challenge 触发机制 加载失败原因与修复建议
  • 把 chordify.net 用到不翻车:从“玄学和真规则”拆一套可落地的排障与提升方案
  • 穿云API视角:Cloudflare 503 间歇性出现的排查清单
  • Cloudflare 防采集策略升级:请求特征、频率控制与稳定访问建议
  • 穿云API视角:Cloudflare 人机验证失败的定位步骤
  • Cloudflare TLS 握手失败 证书链 SNI 与协议版本排查要点
  • 为什么问题总是一个接一个出现,而不是单点爆发?
  • 面对多种验证机制,自动化采集工具是如何实现统一适配的?
  • 把复杂的数据获取流程压缩成一步调用,工程上意味着什么?
  • 当“访问能力”被做成服务,开发者的工作边界发生了哪些变化?
  • 当数据获取不再依赖具体站点规则,系统设计会发生哪些变化?
  • 从一次性脚本到可持续运行方案,数据获取方式正在经历怎样的转变?
  • 原本有效的规则,通常是在什么情况下开始失去作用的?
  • 当某个参数被单独修改时,为什么会引发一连串不可预期的问题?
  • 程序没有报错,但返回结果明显不对,这一步最容易被忽略

最新文章

  • 围绕 chordify.net 的自动化访问与稳定解析方案实践总结
  • Cloudflare 站点间歇性白屏 资源加载 缓存与回源链路排查
  • Cloudflare WAF 规则命中 常见拦截模式与放行配置思路
  • Cloudflare 浏览器完整性检查 触发条件 误判原因与优化建议
  • Cloudflare 回源超时 连接池 Keep Alive 与源站性能的定位方法

文章目录

  • 1、使用Undetected-chromedriver 这是一个非常便利的包,可以直接通过pip进行安装。然后像下面这样初始化驱动程序,之后的操作就像常规的Selenium使用一样。
  • 2、直接修改chromedriver可执行文件 你可以将key变量更改为任意不包含”cdc”的字符。
  • 3、使用穿云API,您可以轻松地绕过Cloudflare的机器人验证,即使您需要发送10万个请求,也不必担心被识别为抓取者。

穿云API

穿云API可轻松跳过Cloudflare反爬虫验证、五秒盾页面真人机验证和WAF防火墙,支持绕过JS质询、Turnstile、Kasada和Incapsula等产品验证。并提供高速HTTP/Socks5的API提取IP代理(全球动态住宅IP/机房代理IP),以及设置Referer、浏览器UA和headless状态等浏览器指纹及设备特征。

关于我们

  • 联系我们
  • 服务条款
  • 隐私政策
  • 使用教程
  • 海外动态IP

产品介绍

  • API文档
  • 套餐定价
  • 绕过Cloudflare
  • 爬虫IP代理
  • 动态住宅IP

联系我们

Telegram:@cloudbypasscom
联系我们领取免费试用

突破所有反Anti-bot机器人检查,轻松绕过cloudflare验证、CAPTCHA验证,WAF,CC防护和Cloudflare爬虫验证,并提供了HTTP API和Proxy,包括接口地址、请求参数、返回处理;以及Cloudflare反爬虫设置Referer,浏览器UA和headless状态等各浏览器指纹设备特征。

注:穿云代理IP仅提供国外动态代理IP,在中国大陆IP环境下直连时可能会出现不稳定的情况,但您可以通过以下两种方式解决:一是将其部署在香港等境外服务器上使用;二是在本地电脑端开启TUN模式的全局代理进行中转。