news 2026/5/30 13:16:25

macOS系统上或首次使用Python的urllib模块时出现 ssl.SSLCertVerificationError 错误

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
macOS系统上或首次使用Python的urllib模块时出现 ssl.SSLCertVerificationError 错误

macOS系统上或首次使用Python的urllib模块时出现 ssl.SSLCertVerificationError 错误

今天在macOS系统上运行如下的Python代码时报错:

fromurllib.requestimporturlopenfrombs4importBeautifulSoup html=urlopen('http://www.pythonscraping.com/pages/page1.html')bs=BeautifulSoup(html.read(),'html.parser')print(bs.h1)

首先我在macOS中运行pip install beautifulsoup4安装了beautifulsoup4库,并且同样的代码在Windows11上正常运行,所以代码没有什么问题,后面Google搜索了一下找到了解决方法。

报错如下:

$ python scrapetest.py Traceback(most recent call last): File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line1319,indo_open h.request(req.get_method(), req.selector, req.data, headers, ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^encode_chunked=req.has_header('Transfer-encoding'))^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line1338,inrequest self._send_request(method, url, body, headers, encode_chunked)~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line1384,in_send_request self.endheaders(body,encode_chunked=encode_chunked)~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line1333,inendheaders self._send_output(message_body,encode_chunked=encode_chunked)~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line1093,in_send_output self.send(msg)~~~~~~~~~^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line1037,insend self.connect()~~~~~~~~~~~~^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line1479,inconnect self.sock=self._context.wrap_socket(self.sock, ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^server_hostname=server_hostname)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line455,inwrap_socketreturnself.sslsocket_class._create(~~~~~~~~~~~~~~~~~~~~~~~~~~~~^sock=sock, ^^^^^^^^^^...<5lines>...session=session ^^^^^^^^^^^^^^^)^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line1076,in_create self.do_handshake()~~~~~~~~~~~~~~~~~^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line1372,indo_handshake self._sslobj.do_handshake()~~~~~~~~~~~~~~~~~~~~~~~~~^^ ssl.SSLCertVerificationError:[SSL: CERTIFICATE_VERIFY_FAILED]certificate verify failed: unable to getlocalissuer certificate(_ssl.c:1028)During handling of the above exception, another exception occurred: Traceback(most recent call last): File"/Users/chufengcao/WorkSpace/PythonProjects/python-scraping-demo-ccf/scrapetest.py", line4,in<module>html=urlopen('http://www.pythonscraping.com/pages/page1.html')File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line189,inurlopenreturnopener.open(url, data,timeout)~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line495,inopenresponse=meth(req, response)File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line604,inhttp_response response=self.parent.error('http', request, response, code, msg, hdrs)File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line527,inerror result=self._call_chain(*args)File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line466,in_call_chain result=func(*args)File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line720,inhttp_error_302returnself.parent.open(new,timeout=req.timeout)~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line489,inopenresponse=self._open(req, data)File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line506,in_open result=self._call_chain(self.handle_open, protocol, protocol +'_open', req)File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line466,in_call_chain result=func(*args)File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line1367,inhttps_openreturnself.do_open(http.client.HTTPSConnection, req, ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^context=self._context)^^^^^^^^^^^^^^^^^^^^^^ File"/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/urllib/request.py", line1322,indo_open raise URLError(err)urllib.error.URLError:<urlopen error[SSL: CERTIFICATE_VERIFY_FAILED]certificate verify failed: unable to getlocalissuer certificate(_ssl.c:1028)>

关键错误信息为:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028)>

问题原因

macOS 上的 Python 可能无法访问系统默认证书。最可靠的解决方法通常是运行 Python 安装包中提供的特定脚本来安装或更新 certifi 包,该包提供了一个经过整理的根证书列表。

解决方法

macOS 上的 Python 可能无法访问系统默认证书。最可靠的解决方法通常是运行 Python 安装包中提供的特定脚本来安装或更新 certifi 包,该包提供了一个经过整理的根证书列表。

  • 1.打开终端。

  • 2.运行以下命令(该命令专门用于 macOS 上的 Python 安装):

/Applications/Python\3.13/Install\Certificates.command

注意:如果您以不同的方式安装 Python,路径可能会略有不同。从您的回溯信息来看,路径 /Library/Frameworks/Python.framework/Versions/3.13/ 可能是 Python 的安装位置。)运行此脚本后,请再次尝试运行您的python scrapetest.py脚本。

重新运行python scrapetest.py脚本,得到如下的结果:

<h1>An Interesting Title</h1>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 8:30:12

如何快速下载国家中小学智慧教育资源?knowledge-grab完整使用指南

如何快速下载国家中小学智慧教育资源&#xff1f;knowledge-grab完整使用指南 【免费下载链接】knowledge-grab knowledge-grab 是一个基于 Tauri 和 Vue 3 构建的桌面应用程序&#xff0c;方便用户从 国家中小学智慧教育平台 (basic.smartedu.cn) 下载各类教育资源。 项目地…

作者头像 李华
网站建设 2026/5/30 0:38:36

如何通过knowledge-grab实现教育资源的高效管理:一站式解决方案

如何通过knowledge-grab实现教育资源的高效管理&#xff1a;一站式解决方案 【免费下载链接】knowledge-grab knowledge-grab 是一个基于 Tauri 和 Vue 3 构建的桌面应用程序&#xff0c;方便用户从 国家中小学智慧教育平台 (basic.smartedu.cn) 下载各类教育资源。 项目地址…

作者头像 李华
网站建设 2026/5/30 0:39:05

键盘声音魔法师:让普通键盘秒变机械键盘的终极指南

键盘声音魔法师&#xff1a;让普通键盘秒变机械键盘的终极指南 【免费下载链接】mechvibes Mechvibes 项目地址: https://gitcode.com/gh_mirrors/me/mechvibes 还在羡慕机械键盘那清脆悦耳的敲击声吗&#xff1f;现在&#xff0c;无需花费上千元购买机械键盘&#xff0…

作者头像 李华
网站建设 2026/5/30 0:48:43

Open-AutoGLM电脑版下载速度慢如蜗牛?3招提速技巧让你秒下完成

第一章&#xff1a;Open-AutoGLM电脑版下载 获取 Open-AutoGLM 的电脑版是使用该自动化大语言模型工具的第一步。目前官方提供了跨平台支持&#xff0c;用户可在 Windows、macOS 和 Linux 系统上部署运行。 系统要求 操作系统&#xff1a;Windows 10/11 64位、macOS 12、Ubun…

作者头像 李华
网站建设 2026/5/30 0:18:27

Windows文件资源管理器的3D模型预览革命:STL缩略图扩展深度解析

Windows文件资源管理器的3D模型预览革命&#xff1a;STL缩略图扩展深度解析 【免费下载链接】STL-thumbnail Shellextension for Windows File Explorer to show STL thumbnails 项目地址: https://gitcode.com/gh_mirrors/st/STL-thumbnail 还在为海量STL模型文件难以快…

作者头像 李华
网站建设 2026/5/22 14:47:21

网页存档时光机:你的互联网时间胶囊

网页存档时光机&#xff1a;你的互联网时间胶囊 【免费下载链接】wayback-machine-webextension A web browser extension for Chrome, Firefox, Edge, and Safari 14. 项目地址: https://gitcode.com/gh_mirrors/wa/wayback-machine-webextension 还记得那个重要的研究…

作者头像 李华