您现在的位置是:首页 >学无止境 >Cloudflare反反爬的几种方式记录网站首页学无止境
Cloudflare反反爬的几种方式记录
简介Cloudflare反反爬的几种方式记录
Part1:最常用的cloudscraper库
这个方法现在已经失效,据说是cloudflare只要稍有改进就会失效。期待作者更新
import cfscrape
scraper = cfscrape.create_scraper(delay=10) # 可以设置延迟时间
res = scraper.get(u, headers=headers) # 发起请求的方式和requests相同
Par2:Fake-UserAgent
from fake_useragent import UserAgent
ua = UserAgent()
ua1 = ua.random
print(ua1) # 可以看到每次都调用不同的ua
headers = {
'User-Agent': str(ua1),
'cookie': bytedatas,}
Part3:time.sleep()
可以说是最质朴的方法了。缺点是会大幅降低爬虫速度。需要自己拿捏获取数据的速度和被屏蔽之间的平衡。目前我用的是每个网页7-10秒,每10页休息30-40秒
import time
import random
import requests
for u in urls:
res = requests.get(u,headers=headers)
# 中间省略
time.sleep(random.randint(7,10))
Part4:一些不管用的偏方
requests设置延迟加载,禁止重定向等
res = requests.get(url,timeout=20,allow_redirects=False)
目前就是勉强用time.sleep()的方法运行着,过几十个就要改一下所请求的网址,同时写入日志,再对日志进行数据提取。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结