【问题标题】:python3.8 google search result in urllib.error.HTTPError: HTTP Error 429: Too Many Requestspython3.8 google 搜索结果在 urllib.error.HTTPError: HTTP Error 429: Too Many Requests
【发布时间】:2021-04-13 23:48:47
【问题描述】:

经过几次尝试...得到以下对谷歌搜索查询的响应,如下所示。有人有解决这个问题的方法吗?

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 响应 = urlopen(请求)文件“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 中 响应 = 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 文件\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 中 响应 = self.parent.error(文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”, 第 569 行,错误 返回 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", 第 649 行,在 http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 429: Too Many Requests

【问题讨论】:

  • 请编辑您的帖子以使其更易于理解。

标签: python-3.x google-search google-search-api


【解决方案1】:

可能duplicate

处理代码中的错误

假设您使用的是google python package 而不是google-api-python-client,您提供的行对我来说很好。

遵循的步骤

  1. 创建一个干净的python环境(在我的例子中使用virtualenv,使用pip安装):virtualenv google_search_env
  2. 激活环境:source google_search_env/bin/activate 用于 linux 或 source google_search_env/scripts/activate 用于 Windows。
  3. 安装依赖:pip install beautifulsoup4 google
  4. 运行你的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 术语或自定义异常的搜索结果。

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多