You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python API网页爬取遇阻:请求法兰克福证交所API返回空结果

解决API请求返回空JSON的问题

你的请求返回空{},核心原因是使用的X-Client-TraceId、X-Security和Client-Date都是固定的过期值——这类头部属于网站动态生成的验证字段,过期后服务器会拒绝返回有效数据。

解决方案1:简化请求头(优先尝试)

去掉那些过期的特殊验证头,改用通用的浏览器请求头模拟正常访问:

import requests

url = "https://api.boerse-frankfurt.de/v1/data/master_data_bond?isin=XS0216072230"

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    "Accept": "application/json, text/plain, */*"
}

response = requests.get(url, headers=headers)
# 先检查响应状态码,确认请求是否成功
print("响应状态码:", response.status_code)
data = response.json()
print(data)

解决方案2:获取实时有效验证头

如果方案1无效,需要从浏览器中抓取当前有效的验证字段:

  1. 打开浏览器访问目标页面https://www.boerse-frankfurt.de/bond/xs0216072230
  2. 按F12打开开发者工具,切换到Network标签
  3. 筛选请求类型为XHR,找到包含master_data_bond的API请求
  4. 查看该请求的Request Headers,复制当前有效的X-Client-TraceId、X-Security和Client-Date(注意Client-Date要和当前时间匹配)
  5. 将这些实时值替换到你的请求头中,重新发起请求

额外提示

  • 若返回403/401状态码,说明网站的验证机制更新,可能需要补充更多请求头(比如Referer、Origin)
  • 这类内部API没有公开文档,字段规则可能随时变化,需要定期验证请求有效性

内容的提问来源于stack exchange,提问作者Yogita Negi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 00:36:27