通过 google 模块进行 Python 搜索给出 SSL: CERTIFICATE_VERIFY_FAILED 错误

2024-04-01

我在 Mac OSX 上使用 Python 3。 python3 -版本给出:Python 3.6.3

我安装了certifi已经包了。python 3 -m pip install certifi回馈:Requirement already satisfied: certifi in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

运行此代码时:

from google import search

for url in search('Hallo', tld='com', lang='en', num=1, stop=1):
    print(url)

其结果是:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1318, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect
    server_hostname=server_hostname)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 814, in __init__
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1068, in do_handshake
    self._sslobj.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)

在处理上述异常的过程中,又出现了一个异常:

Traceback (most recent call last):
  File "Google.py", line 4, in <module>
    for url in search('Hallo', tld='com', lang='en', num=1, stop=1):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/google/__init__.py", line 275, in search
    get_page(url_home % vars())
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/google/__init__.py", line 121, in get_page
    response = urlopen(request)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 526, in open
    response = self._open(req, data)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 544, in _open
    '_open', req)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1361, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1320, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>

有什么问题?

我需要一种简单的方法来获取在 Google 中搜索特定字符串的 URL。

有任何想法吗?

PS:我对Python很陌生,我已经用谷歌搜索了很多这个问题。您能尝试给出一个容易理解的答案吗?

谢谢你!!


尽管这个问题很老了,但我正在回答它,以便与我有同样问题的人知道如何解决这个问题。

这个问题与谷歌或图书馆无关。 在我的例子中,您必须导航到安装 Python 的文件夹:

cd /Applications/Python\ 3.6/
open .

您也可以使用 Finder 来完成此操作。只需前往Applications文件夹中,搜索Python。

双击这个:

然后你必须双击Install Certificates.command.

这应该可以解决它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 google 模块进行 Python 搜索给出 SSL: CERTIFICATE_VERIFY_FAILED 错误 的相关文章

随机推荐

  • Spring 3.1 @Cacheable - 方法仍然执行

    我正在尝试按照解释实现 Spring 3 1 缓存here http www javacodegeeks com 2011 02 spring 31 cache abstraction tutorial html and here http
  • 带条件的 foreach 循环

    我可以用多个条件进行循环 如下所示 for int i 0 condition1 condition2 conditionN i 有没有办法使用 foreach 来做到这一点 foreach var i in arr and while c
  • 入口点不能用“async”修饰符标记

    我从下面复制了代码this http blogs msdn com b csharpfaq archive 2012 06 26 understanding a simple async program aspx链接 但是当我编译这段代码时
  • JQuery,分层表分页

    多次询问分层表和表分页 但我正在寻找他们两个 我已经在我的应用程序中使用 JQuery 因此使用相同的插件将会很有用 但我愿意接受任何建议 目前 我设法使用一些 jQuery 插件来显示分层数据 并添加了我自己的分页方法 但它还不够 我正在
  • 使用 mysql-server docker 容器在多个服务器上创建 MySQL 集群

    我正在尝试使用以下命令创建一个包含 3 个节点的 MySQL 集群mysql 服务器 https hub docker com r mysql mysql server 码头集装箱 I have 3个独立的云实例并且 docker 已在所有
  • Kafka Connect - 删除带有配置的连接器?

    我知道如何删除 Kafka 连接器 如此处所述Kafka Connect 如何删除连接器 https stackoverflow com questions 48947250 kafka connect how to delete a co
  • Ruby:#map 对于 bang 方法通常没有意义,是吗?

    这个问题的灵感来自于这个问题 Ruby 为什么这种使用地图的方式会抛出错误 https stackoverflow com questions 41853364 ruby why does this way of using map thr
  • 收到 ValueError: invalidliteral for int() with base 10: '' 错误并且不知道为什么

    我知道以前曾问过这个问题 但就我的情况而言 我似乎无法弄清楚为什么会抛出这个问题 当我尝试运行计算时 控制台出现以下错误 ValueError invalid literal for int with base 10 它说它来自 File
  • ActiveRecord 在 Ruby 1.9.2-rc1 下以 ASCII-8Bit 返回数据

    进一步说明标题 当从 ActiveRecord 加载数据时 尽管我尽了最大努力强制编码 但编码始终设置为 ASCII 8Bit 我在这里输入了尽可能多的详细信息 以尝试构建一个好的错误报告 有人可以用来帮助我 该项目使用以下技术 帕德里诺框
  • 正则表达式中从末尾开始的最短匹配

    给定一个输入字符串fooxxxxxxfooxxxboo我正在尝试编写一个匹配的正则表达式fooxxxboo即从第二个 foo 开始直到最后一个 boo 我尝试了以下方法 foo boo匹配完整的字符串fooxxxxxxfooxxxboo f
  • strcpy 到 mmap 地址返回总线错误

    我创建了一个进程 它调用设置了 MAP SHARED 标志的 mmap 当我尝试将字符串复制到该地址时 我收到总线错误核心转储 有人可以解释一下其背后的原因以及如何修复它 以下是我的代码 int main int fd 0 char ret
  • 停止/启动远程 Windows 服务并等待其打开/关闭

    最高答案这个问题 https stackoverflow com questions 187836 how do i restart a service on a remote machine in windows告诉我如何停止 启动远程服
  • Android 工具栏标题

    无法更改工具栏标题我在其中设置了标题manifeast xml 还使用了setTitle TITLE 我将标题设置为历史与报告但它显示不同的标题通知这是另一个活动标题 我检查了manifeast xml但没有变化 任何人都可以帮助我吗 这是
  • Python3.8 - FastAPI 和无服务器 (AWS Lambda) - 无法处理发送到 api 端点的文件

    我已经通过 AWS Lambda 函数将 FastAPI 与无服务器结合使用几个月了 效果非常好 我正在创建一个新的 api 端点 它需要发送一个文件 在我的本地计算机上使用时它工作得很好 但是当我部署到 AWS Lambda 时 当我尝试
  • 让SVM在Python中运行得更快

    使用code下面是 python 中的 svm from sklearn import datasets from sklearn multiclass import OneVsRestClassifier from sklearn svm
  • 使用 NumPy/SciPy 进行向量值函数插值

    有没有办法使用向量值函数进行插值NumPy http en wikipedia org wiki NumPy SciPy http en wikipedia org wiki SciPy 有很多适用于标量值函数的产品 我想我可以使用其中之一
  • Retrofit 将对象数组转换为 GSON 错误

    我正在使用 Retrofit 发出 HTTP 请求 该请求返回一个对象数组 但出现以下错误 com google gson JsonSyntaxException java lang IllegalStateException Expect
  • 播放wav文件c#代码

    如何在另一台电脑上播放 wav 文件 我知道我必须将 wav 文件作为输出设备上的缓冲区发送 有人可以用 C 给出一个简短的 eq 吗 您需要使用 Flash 或 Silverlight 在浏览器中播放音频 您不需要重新发明轮子 此外 除了
  • Linux 上使用 C/C++ 编写的简单原始套接字服务器

    我正在尝试使用原始套接字构建以太网 我无法使用 TCP IP UDP 或任何其他协议 这是因为它将与非常简单的硬件进行通信 这些硬件没有资源来处理所有不同的协议层 我的网络将由一台主机组成 通过以太网交换机与多个硬件进行通信 此时 我基本上
  • 通过 google 模块进行 Python 搜索给出 SSL: CERTIFICATE_VERIFY_FAILED 错误

    我在 Mac OSX 上使用 Python 3 python3 版本给出 Python 3 6 3 我安装了certifi已经包了 python 3 m pip install certifi回馈 Requirement already s