之前 SteamDB 自带 Cloudflare 的 5 秒等待防 DDOS,近期又添加了 hcaptcha 验证,这使之前写的爬虫失效了,现需要绕过验证页面,获取真实的网页信息
下文将展示如何绕过 hcaptcha,语言为 python,需要接入 2captcha 验证码识别平台
2captcha 也适用于其他验证码,如 reCaptcha、TikTok captcha、Arkose Labs FunCaptcha、文字验证码等等,绕过流程基本相同(非广告,仅作介绍)
准备
- 2captcha API Key
- 需充值,$2.99/1000次请求
- python 3 环境
- 使用 selenium 作为自动化测试工具
- 需要引入 2captcha 官方 SDK 2captcha-python
参考
- hCaptcha – 2captcha API
- 2captcha / 2captcha-python – GitHub
- Selenium Java inject new Javascript function
步骤
步骤大致如下:
浏览器打开页面,hcaptcha 出现
此时我们需要做的就是在本页面的 HTML 代码内找到代表当前验证会话的 sitekey,将 sitekey 连同网页 URL 提交到 2captcha 平台
之后等待 2captcha 运行自己的一套验证码破解流程,2captcha 破解完毕后会返回一个 token,拿到这个 token 后,将其提交到当前的 hcaptcha 页面
之后浏览器会自动跳转,相当于人工完成了验证