【发布时间】:2026-02-13 04:45:02
【问题描述】:
我正在尝试抓取网站,该网站使用 datadome,经过一些请求后,我必须完成 geetest(滑块验证码拼图)。
这是一个示例链接: captcha link
我决定不使用 selenium(至少现在),我正在尝试通过 python 模块解决我的问题:Requests. 我的想法是自己完成 geetest 然后在我的程序中发送相同的请求,我的网络浏览器在完成该滑块后发送。
-
一开始,我在验证码提示后抓取了网站上的html代码:
<head><title>allegro.pl</title><style>#cmsg{animation: A 1.5s;}@keyframes A{0%{opacity:0;}99%{opacity:0;}100%{opacity:1;}}</style></head><body style="margin:0"><p id="cmsg">Please enable JS and disable any ad blocker</p><script>var dd={'cid':'AHrlqAAAAAMAsB0jkXrMsMAsis8SQ==','hsh':'77DC0FFBAA0B77570F6B414F8E5BDB','t':'fe','s':29701,'host':'geo.captcha-delivery.com'}</script><script src="https://ct.captcha-delivery.com/c.js"></script></body></html> -
我无法访问最重要信息所在的 iframe,但我发现可以使用来自上述 html 代码的信息构建指向该 iframe 的链接。正如您在上面的链接中看到的: cid是initialCid,hsh是hash等,链接的一部分,cid是我在captcha出现的那一刻得到的一个cookie。
-
我看到有可用的服务可以为你解决验证码,所以我决定自己完成验证码,然后向我的程序发送准确的请求,包括 cookie 和标头,然后在我的程序中通过请求发送请求.现在我是手动做的,但它不起作用。响应为 403,手动时为 200 并重定向。
这是我的浏览器在完成验证码后发送的示例请求:
我在程序中通过以下方式发送它:
s = requests.Session()
s.headers = headers
s.cookies.set(cookie_from_web_browser)
captcha = s.get(request)
响应是 403,我不知道如何使它工作,帮助我。
【问题讨论】:
标签: python web-scraping cookies python-requests recaptcha