如何用python执行google搜索而不出现429错误(请求太多)

rnmwe5a2  于 2023-01-27  发布在  Python
关注(0)|答案(1)|浏览(207)
from googlesearch import search

def get_results(req):
    response = search(req, num_results=10, proxy='3.8.203.84:3128')
    links = []
    for result in response:
        links.append(result)

    return links

for i in range(100):
    print(get_results('google'))

我试过使用代理和速率限制。代理的问题并没有消失,而速率限制则工作了很长时间。

fnx2tebb

fnx2tebb1#

谷歌有速率限制,以避免太多的请求垃圾邮件和超载他们的服务器,这就是为什么你会得到这样的错误。
您可以使用:

import time

time.sleep(<n_seconds>)

因此代码如下所示:

import time
for i in range(100): 
    print(get_results('google'))
    time.sleep(1)

这将使您的程序在请求之间休眠1秒。
有更高级/更聪明的方法可以使用https://pypi.org/project/limit/这样的库来实现这一点,但现在我将尝试睡眠方法,看看它是否有效,随着您越来越高级,您可以使它更好。

相关问题