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

使用Python requests调用Reddit API返回429 Too Many Requests错误如何解决

错误触发原因

429 Too Many Requests 是Reddit API触发速率限制后的标准返回,核心原因如下:

  • 最常见的原因是请求未携带自定义User-Agent头:Reddit API规则明确要求所有请求必须携带可识别的User-Agent标识,requests库默认的User-Agent格式为python-requests/[版本号],会被Reddit直接判定为恶意爬虫,哪怕是首次请求也会直接返回429
  • 短时间内请求频次超出阈值:未授权的匿名请求本身速率限制极严,哪怕带了UA,短时间内多次请求也会触发拦截
可行解决方法
  • 优先添加自定义User-Agent头,可使用浏览器UA或者包含你个人标识的自定义UA,修改后的参考代码如下:
def main():
  import requests

  headers = {
    # 可替换为你自己的标识,格式参考:<应用名>/<版本号> (by <你的Reddit用户名>)
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
  }
  api = requests.get('https://www.reddit.com/r/memes.json', headers=headers)
  data = api.content
  print(data)

if __name__ == "__main__":
  main()
  • 控制请求频率:匿名请求建议至少间隔2秒发送一次,避免触碰速率阈值
  • 如需高频调用,注册Reddit开发者账号创建应用,获取OAuth2授权凭证后发起请求,带授权的请求速率限制可放宽至每分钟60次
  • 增加重试逻辑:捕获429状态码,按指数退避规则等待一段时间后再重试,避免直接高频重试导致IP被临时封禁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:09:03