绕过cf验证,部署 FlareSolverr 服务使用request处理

FlareSolverr 是一个 Docker 化的服务,内部使用浏览器解决挑战,并通过 REST API 返回结果。你的爬虫只需向它发送 HTTP 请求,无需管理浏览器。

  1. 部署 FlareSolverr(使用 Docker)
bash 复制代码
docker run -d --name flaresolverr -p 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest
  1. Python 调用脚本(无需额外库,仅 requests)
python 复制代码
import requests
import json

def get_fuel_surcharge_via_flaresolverr():
    flaresolverr_url = 'http://localhost:8191/v1'
    
    # 构造请求体
    payload = {
        "cmd": "request.get",
        "url": "https://www.gls-pakete.de/geschaeftlich-versenden/aktuelles/aufpreis-diesel-und-energie",
        "maxTimeout": 60000,  # 毫秒
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
    
    response = requests.post(flaresolverr_url, json=payload)
    data = response.json()
    
    if data['status'] == 'ok':
        html = data['solution']['response']
        # 提取费率(同方案一的正则)
        import re
        match = re.search(r'Der aktuell gültige Prozentsatz beträgt\s*([\d,]+)%', html)
        if match:
            rate = match.group(1).replace(',', '.')
            print(f"最新燃油附加费: {rate}%")
            # 你还可以从 data['solution']['cookies'] 获取 cf_clearance 等
            return float(rate)
        else:
            print("未找到费率")
    else:
        print("FlareSolverr 错误:", data.get('message'))

if __name__ == '__main__':
    get_fuel_surcharge_via_flaresolverr()
相关推荐
默_笙4 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技4 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时4 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊4 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1234 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero074 天前
Jev 与 Laya
python·语言模型