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

Python调用Scratch API获取ID值遇请求超限问题求助

解决Scratch API请求返回"Too many requests"的问题

问题原因

Scratch的API会对无标识的默认请求进行限流,或是你的请求频率超出限制,导致返回{"response": "Too many requests"}。

解决方案

1. 添加请求头模拟浏览器请求

给requests.get加上User-Agent请求头,让API识别请求为合法的浏览器发起请求,规避基础限流。

2. 控制请求频率

若需要多次请求,添加适当延迟,避免短时间内发送大量请求触发限流。

3. 正确解析JSON获取ID

请求成功后直接解析JSON响应,提取目标ID值。

修改后的代码示例

import requests
import time

# 配置请求头,模拟浏览器请求
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

# 发起API请求
response_API = requests.get('https://api.scratch.mit.edu/users/FlyPhoenix/', headers=headers)

# 处理响应结果
if response_API.status_code == 200:
    data = response_API.json()
    user_id = data['id']
    print(f"用户ID: {user_id}")
else:
    print(f"请求失败,状态码: {response_API.status_code},响应内容: {response_API.text}")

# 若需循环请求,添加延迟避免限流
# time.sleep(1)  # 每次请求间隔1秒

补充说明

  • User-Agent可以直接复制自己浏览器的请求头标识,或使用通用的浏览器标识字符串
  • 如果仍触发限流,进一步延长请求间隔时间,检查是否存在其他频率限制规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:05:50