全球主机交流论坛

标题: 使用python requests时碰到CF校验怎么办 [打印本页]

作者: 深海空间    时间: 2021-12-11 17:36
标题: 使用python requests时碰到CF校验怎么办
本帖最后由 深海空间 于 2021-12-11 18:17 编辑

我是用requests爬取的时候,返回回来的结果是CF的那个"Please Wait... | Cloudflare"的界面。
奇怪的是,如果我用浏览器挂代理访问时,他是正常的(没有CF那个等待界面),然后用那台代理的vps运行python爬取时却碰到了CF这个界面,所以应该不是IP的问题。
我把浏览器整个request header复制过去都是一样。
有可能是什么原因导致的呢?



作者: Eric.c    时间: 2021-12-11 17:37
改用chrome less
作者: jqbaobao    时间: 2021-12-11 17:38
说明cf精准拦截
作者: Chriss    时间: 2021-12-11 17:39
缺东西了吧
作者: wachyi    时间: 2021-12-11 17:40
要支持渲染javascript
作者: robot    时间: 2021-12-11 17:44
https://blog.csdn.net/xc_zhou/article/details/106589277
作者: 深海空间    时间: 2021-12-11 17:45
Chriss 发表于 2021-12-11 17:39
缺东西了吧

可能缺了什么?
作者: 深海空间    时间: 2021-12-11 17:50
wachyi 发表于 2021-12-11 17:40
要支持渲染javascript

我清理缓存后禁用这个网站的JS,发现他还是可以正常工作到达登录界面,这样应该排除JS的原因了。
作者: suantong    时间: 2021-12-11 17:57
回帖的都是爬虫大佬
作者: 美图秀秀    时间: 2021-12-11 18:01
直接隐身模式打开那个页面试试
作者: 深海空间    时间: 2021-12-11 18:02
美图秀秀 发表于 2021-12-11 18:01
直接隐身模式打开那个页面试试

全程都是隐身模式打开的。
作者: wachyi    时间: 2021-12-11 18:19
深海空间 发表于 2021-12-11 17:50
我清理缓存后禁用这个网站的JS,发现他还是可以正常工作到达登录界面,这样应该排除JS的原因了。 ...

这个网站开cf防cc了,这个验证就是javascript,一定要支持渲染,否则就跳验证页面
作者: xiaohu    时间: 2021-12-11 18:45
request请求头代码贴出来
作者: 深海空间    时间: 2021-12-11 19:09
xiaohu 发表于 2021-12-11 18:45
request请求头代码贴出来


作者: blacksheep    时间: 2021-12-11 19:11
了解下TLS fingerprinting....或者直接gayhub搜这个cloudscraper
作者: xiaohu    时间: 2021-12-11 19:12
深海空间 发表于 2021-12-11 19:09

请求头不对,先按照浏览器的request header参数写。
作者: ccfer    时间: 2021-12-11 19:22
本帖最后由 ccfer 于 2021-12-11 19:23 编辑

fiddler先抓一下,然后照抄写到py试试

CF确实很牛皮,头疼
我最近用selenium总是绕不过去CF验证
作者: 深海空间    时间: 2021-12-11 19:47
xiaohu 发表于 2021-12-11 19:12
请求头不对,先按照浏览器的request header参数写。

完全照抄都不行,不知道为毛


作者: xiaohu    时间: 2021-12-11 20:52
深海空间 发表于 2021-12-11 19:47
完全照抄都不行,不知道为毛

返回什么信息?要么代理问题?这个网站没什么难度。
作者: xiaohu    时间: 2021-12-11 20:53
深海空间 发表于 2021-12-11 19:47
完全照抄都不行,不知道为毛

如果验证码这关过不了 直接把cookie提出来请求即可。cookie是个字典,over 18这些设置好即可。
作者: X102_Duel    时间: 2021-12-11 21:18
requests 运行不了js吧...换selenium
作者: 深海空间    时间: 2021-12-11 21:25
xiaohu 发表于 2021-12-11 20:52
返回什么信息?要么代理问题?这个网站没什么难度。


如图(我把内容print到html文件后再用浏览器打开的),返回的是CF那个检测页面,但是我用浏览器的时候没有这个页面的。
代理的话,我是用服务器A搭建的某种**工具代理的,我requests也是使用A服务器代理的。
大佬有空不, 我网址PM给你试试?

作者: xiaohu    时间: 2021-12-11 21:49
深海空间 发表于 2021-12-11 21:25
如图(我把内容print到html文件后再用浏览器打开的),返回的是CF那个检测页面,但是我用浏览器的时候没有 ...

换域名请求。xxx34.com。没什么问题的啊,多研究吧。
作者: 深海空间    时间: 2021-12-11 22:52
本帖最后由 深海空间 于 2021-12-11 22:58 编辑

https://imags.collatech.cf/images/2021/12/11/ja2.jpg
作者: 深海空间    时间: 2021-12-11 22:54
xiaohu 发表于 2021-12-11 21:49
换域名请求。xxx34.com。没什么问题的啊,多研究吧。

奇怪,用你这个34的镜像站可以,但是我用主站(域名不带数字的)却不行,请看下面的截图,同一个服务器和同一个脚本,我仅仅更改了py文件里的域名而已,想不透是哪里出问题了。



作者: 叮当猫    时间: 2021-12-11 23:05
别用f12 用fiddler抓包你就懂了,cf是动态js 动态cookie验证,推荐补环境过js
作者: xiaohu    时间: 2021-12-12 12:16
深海空间 发表于 2021-12-11 22:54
奇怪,用你这个34的镜像站可以,但是我用主站(域名不带数字的)却不行,请看下面的截图,同一个服务器和同 ...

在于cdn的ip防火墙的判断等级区别吧,某cdn ip同时访问多,则可能容易触发风控跳转防护页面。以上是猜测,但89不离10。




欢迎光临 全球主机交流论坛 (https://loc.888543.xyz/) Powered by Discuz! X3.4