如何解决urllib.error.HTTPError中的python3.8谷歌搜索结果:HTTP错误429:请求过多 遵循的步骤
经过几次尝试......得到如下谷歌搜索查询的响应,如下所示。任何人有解决方案请帮助?
search(query=self.name,tld='com',lang='en',num=100,stop=100,pause=5):
文件 "C:\Users\img_cart_project\venv\lib\site-packages\googlesearch_init_.py",第 305 行,在搜索中 html = get_page(url,user_agent,verify_ssl) 文件 "C:\Users\img_cart_project\venv\lib\site-packages\googlesearch_init_.py",第 174 行,在 get_page 中 response = urlopen(request) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py",第 222 行,在 urlopen 中 返回 opener.open(url,data,timeout) 文件 "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py",531线,开放中 response = meth(req,response) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”, 第 640 行,在 http_response 中 response = self.parent.error( 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”,第 563 行,错误 结果 = self._call_chain(*args) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”, 第 502 行,在 _call_chain 中 结果 = func(*args) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”, 第 755 行,在 http_error_302 中 返回 self.parent.open(new,timeout=req.timeout) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py",第 569 行,错误 return self._call_chain(*args) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py",第 502 行,在 _call_chain 中 结果 = func(*args) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”, 第 649 行,在 http_error_default 中 引发 HTTPError(req.full_url,code,msg,hdrs,fp) urllib.error.HTTPError: HTTP Error 429: Too Many Requests
解决方法
可能duplicate。
处理代码中的错误
假设您使用的是 google
python package 而不是 google-api-python-client
,您提供的行对我来说效果很好。
遵循的步骤
- 创建一个干净的 python 环境(在我的例子中使用 virtualenv,使用 pip 安装):
virtualenv google_search_env
- 激活环境:
source google_search_env/bin/activate
for linux 或source google_search_env/scripts/activate
for windows。 - 安装依赖项:
pip install beautifulsoup4 google
- 运行你的python脚本:
python search_client.py
# search_client.py
from googlesearch import search
try:
searche_results = search(query="test search",tld='com',lang='en',num=5,stop=10,pause=1)
[print("result: "+searche_result) for searche_result in searche_results]
except HTTPError:
print("429 HTTP Error.")
# more code...
except:
print("There was an issue while fetching results.")
这应该打印 test search
项或自定义异常的搜索结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。