绕过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()
相关推荐
前端 贾公子1 小时前
第10章:RAG(2)
开发语言·python
2601_962299492 小时前
使用 Python 将 CSV 转为 PDF(含表格样式美化)
python·pdf·csv·spire.xls·表格样式
2601_962077982 小时前
利用Python,四步掌握机器学习
python·机器学习·数据挖掘·数据分析·编程
axinawang2 小时前
requests--爬取网页内容
python
盼小辉丶3 小时前
PyTorch强化学习实战——融合人类示范数据的高效强化学习
人工智能·pytorch·python·深度学习·强化学习
聪明蛋子哟3 小时前
MCP协议深度落地:如何用Python/Java双语言实现统一的工具调用网关?
java·开发语言·python
李妍.3 小时前
PyTorch GPU 版安装记录(RTX 5060 + Python 3.14)
人工智能·pytorch·python
90后的晨仔3 小时前
Python 基础语法完整汇总
python
广慈新医知3 小时前
当健康问题越来越复杂,AI更适合先帮我们“把问题问清楚”
人工智能·python