Python针对Cloudflare的假5秒盾验证逆向

本文讲述了在尝试编写全自动脚本时遇到Cloudflare的假5秒盾验证问题,通过尝试不同的请求方法和使用curl_cffi库成功绕过验证,并在不同环境下测试通过的故事。

最近Friendtech挺火的,所以想写一个全自动的脚本,包含自动买卖+推特账号粉丝数量检测。按理说这种东西属于很简单的爬虫,啪啪啪requests发个get请求就数据到手。

如果这么简单,那就真的谢天谢地了😂😂

先说说遇到的坑。

1.返回数据中包含“Just a moment"内容的验证页面。
以前没见过这种,然后f12打开查看。怪了,最开始没有验证的时候,请求方式是get;一旦有了这个"Just a moment"的验证页面,再f12打开查看,页面的请求方式就变成了post,而且包含一堆数据。如下。
请求方式是:get

在这里插入图片描述
post的找不到了,不放了。
这把我搞懵逼了,没见过这种啊。
最开始我想的是多弄一些cookie,referer,usr-agent这些,随机选取让脚本跑。**但是总是当时正常,隔天就失效。查看返回数据,内容包含"Just a moment"的网页验证。**有点头疼。

然后针对get和Post会切换的问题,所以我想要不暴力解决把。
先try get方法,等解析数据报错的时候except切换到Post方法,header,cookie,referer都全部切换。

try:
        re = requests.get(u, headers=h2)
        # print(re.status_code)
        sp = BeautifulSoup(re.text, 'html.parser')
        # print(sp)
        ds = sp.find_all('table', class_='table table-hover')[0].find('tbody').find_all('tr')[:5]
    except BaseException as e:
        print('使用了Post方法')
        re = requests.post
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爬吧爬吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值