Google趋势爬虫代码429错误

Google Trend Crawler code 429 error

我是 python 的新手,正在使用 unofficial pytrends API 抓取 Google 趋势。我有 2000 多个关键字作为 DNA 列表并尝试抓取数据。当我 运行 这段代码时,即使我添加了 time.sleep(1),它也会出现 "Google returned a response with code 429"。谁能帮我解决这个问题?

下面是我的代码

#DNA has 2000+ lists
from pytrends.request import TrendReq
import pandas as pd
import xlsxwriter
import time

pytrends = TrendReq(hl='en-US,tz=360')
Data = pd.DataFrame()

#Google Trend Crawler
for i in range(DNA[i]):
    time.sleep(1)
    kw_list = [DNA[i]]
    pytrends.build_payload(kw_list, cat=0, timeframe='today 5-y', geo='', gprop='')
    df = pd.DataFrame(pytrends.interest_over_time())

    #Setting a Google Trend Dates
    if(i==0):
        Googledate = pd.DataFrame(pytrends.interest_over_time())
        Data['Date'] = Googledate.index
        Data.set_index('Date', inplace=True)

    #results
    if(df.empty == True):
        Data[DNA[i]] = ""  
    else:
        df.index.name = 'Date'
        df.reset_index(inplace=True)
        Data[DNA[i]] = df.loc[:, DNA[i]]
Data

HTTP/1.1 429 Too Many Requests Content-Type: text/html Retry-After: 3600

Too Many Requests

Too Many Requests

Google 趋势没有官方 API。 Google 可能对来自同一 IP 的请求数量设置了限制。

  1. 放慢速度,直到找到极限。
  2. 运行 它在多个服务器上允许您看起来来自不同的 IP 地址。
  3. 停止尝试抓取 Google 他们不想共享的数据。