gpt4 book ai didi

python - python 的 googlesearch 库

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:14 24 4
gpt4 key购买 nike

我有一个很大的查询文件,需要在 google 中进行搜索,并在另一个文件中返回该查询的结果 URL。我正在使用这个包https://pypi.python.org/pypi/googlesearch/0.7.0

在终端中运行我的程序时,我经常会在屏幕上打印 20 个左右的 URL,然后将 GoogleSearch 切换到打印到屏幕上的代理编号 1。几分钟后,屏幕上会打印一长串以“无法建立新连接:[Errno 60]操作超时”结尾的错误。

我的问题是为什么我首先得到结果然后代理号码发生变化?我怀疑我向 google 发送了太多请求,但有时当我运行程序时,我可能会得到 4 个结果,然后收到相同的消息和错误。我能做些什么?包中有一个文件 search.py​​ ,它确定使用哪个代理或何时更改代理。如果这是错误的原因,是否可以调整请求之间的时间量?

search.py​​ 的重要部分

def proxy(self):
if self.use_proxy:
return {"http": settings.PROXY_LIST[self.proxy_no]}
else:
return {"http": None}

def switch_to_next_proxy(self):
num_proxies = len(settings.PROXY_LIST)
GoogleSearch.proxy_no = (self.proxy_no + 1) % num_proxies
if self.verbose:
print >> sys.stderr, ('GoogleSearch switched to '
'proxy number %i' % self.proxy_no)

最佳答案

在连续的搜索请求之后,Google 会怀疑机器人的访问并获取 Captcha 验证。

googlesearch 实现了代理自动切换以解决该问题:

  • use_proxy: bool, default: True If True, GoogleSearch will use the proxies defined in the PROXIES_LIST variable of googlesearch_settings.py to do the searches. If a proxy starts getting HTTP 403 FORBIDDEN responses, it will switch to the next proxy in the list. It will raise a GoogleAPIError only if all proxies get 403 responses.

您应该使用 Tor 网络或任何 VPN 网络创建许多代理,并将它们添加到 googlesearch_settings.pyPROXIES_LIST 变量中

关于python - python 的 googlesearch 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34374814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com