我在受Cloudflare保护的网站上使用 cloudcraper 包(PyPI、Github)来处理 Web 请求。
我很清楚这个包还不能解决一些挑战,特别是带有recaptchas的“v2挑战”等等。
但是,对我来说,该软件包似乎根本不起作用。当我使用GET请求时
s.get(my_url)
其中 s 是 Cloudscraper 会话对象,我经常得到一个带有以下标题的 HTML 页面:“需要注意!| Cloudflare”。这是标准的 Cloudflare Javascript 挑战,它只是检查浏览器是否支持 JS。
我不知道为什么会这样。我确定
我有一个“现实的”用户代理集,其中 Chrome 设置为浏览器参数
cloudcraper.CloudScraper() 构造函数。
请求是定时的并且不是太快,我在请求之间等待
我已经安装了所有的软件包要求,这意味着除了 cloudcraper 本身之外,还有 requests、requests-toolbelt 和 js2py 作为引擎。
Github repo 上没有问题部分。
Javascript 检查是 Cloudflare 可以向我们提出的最简单的挑战。尽管如此,这个以解决一些 Cloudflare 挑战为唯一目的的软件包,甚至无法通过这个简单的检查。
我在看什么?Cloudflare 让 Web 自动化成为一场噩梦……
编辑:此外,Cloudflare 页面显示“请启用 Cookie 并重新加载页面。” 尽管通常请求会话的 RequestsCookieJar 会自动接受 cookie。