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

从交互式图表底层API爬取数据遇405错误求助

解决API请求405错误问题

405错误的核心原因是请求方法不被接口允许——你用POST请求该API,但实际上这个接口仅支持GET请求。

修正方案:

  • 直接使用GET请求获取数据,无需POST方法,也不需要传递method='POST'参数
  • 保留必要的请求头(如User-Agent),Cookie可根据实际情况携带(部分接口可能不需要)

正确代码示例:

import requests

user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
url = 'https://ember-data-api-scg3n.ondigitalocean.app/ember.json?sql=select+variable%2C+year%2C+share_of_generation_pct+from+generation_yearly+where+variable+in+%28%27Clean%27%2C+%27Coal%27%29+and+country_or_region%3D%27World%27&_shape=array'

# 发送GET请求
res = requests.get(url, headers={'user-agent': user_agent})

# 查看响应状态与数据
print(res.status_code)
print(res.json())

补充说明:

  • 你找到的是一个基于URL参数传递SQL查询的公开API,这类接口通常默认仅支持GET请求
  • 若后续遇到其他API,需先通过浏览器抓包确认接口支持的请求方法(GET/POST/PUT等),再选择对应方式发起请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:32:14