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

首次调用Pytrends API却触发429 TooManyRequestsError问题求助

解决pytrends首次请求触发429 TooManyRequestsError的方案

问题原因

Google Trends的反爬机制会识别非浏览器发起的请求,即使是首次请求,若请求头(尤其是User-Agent)不符合真实浏览器特征,或者当前IP被标记为异常,就会返回429错误。

解决方法

1. 模拟真实浏览器请求头

初始化TrendReq时添加真实的浏览器User-Agent,让请求看起来像正常用户操作:

import pandas as pd                        
from pytrends.request import TrendReq

# 替换为你当前使用的浏览器UA,可通过浏览器开发者工具获取
pytrend = TrendReq(
    hl='en-US',
    tz=360,
    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'
    }
)

kw_list = ["Blockchain"]
pytrend.build_payload(kw_list, cat=0, timeframe='today 12-m', geo='', gprop='')
df = pytrend.interest_by_region()
df.head(10)

2. 添加请求延迟

在初始化时设置wait参数,让请求之间自动添加随机延迟(即使首次请求,也能降低被拦截概率):

pytrend = TrendReq(
    wait=2,  # 每次请求后等待2秒左右(会有随机波动)
    headers={'User-Agent': '...'}  # 配合UA使用效果更好
)

3. 使用代理IP

如果当前IP被Google标记为异常,更换代理IP绕过限制:

pytrend = TrendReq(
    proxies=['http://123.45.67.89:8080'],  # 替换为可用的代理IP和端口
    headers={'User-Agent': '...'}
)

注意事项

  • User-Agent可以通过浏览器的开发者工具(F12)在Network面板中查看任意请求的请求头获取,尽量使用最新版本的浏览器UA。
  • 若使用代理,确保代理IP是干净的、未被Google限制的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:42:46