Mac+PyCharm环境下Pandas爬取维基表格遇SSL证书验证失败求助
解决Mac下Pandas爬取维基百科时的SSL证书验证失败问题
问题重现
运行以下代码时出现SSL证书验证失败错误:
URL = 'https://en.wikipedia.org/wiki/List_of_largest_banks' import pandas as pd tables = pd.read_html(URL) df = tables[0] print(df)
报错核心信息:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
解决方法
方法1:安装Python根证书(推荐)
Mac上从官网下载的Python默认未安装根证书,执行自带的证书安装脚本即可解决:
- 打开终端,执行对应版本的命令:
# 如果Python 3.12安装在Applications目录 /Applications/Python\ 3.12/Install\ Certificates.command # 如果是Framework目录安装的版本 /Library/Frameworks/Python.framework/Versions/3.12/bin/Install\ Certificates.command - 执行完成后重新运行代码即可。
方法2:临时跳过SSL验证(仅测试用)
如果只是临时测试,不想安装证书,可以修改代码跳过SSL验证:
import pandas as pd import urllib.request from ssl import SSLContext URL = 'https://en.wikipedia.org/wiki/List_of_largest_banks' # 创建不验证SSL证书的上下文 ctx = SSLContext() # 获取页面内容 with urllib.request.urlopen(URL, context=ctx) as response: html_content = response.read() # 用获取到的内容解析表格 tables = pd.read_html(html_content) df = tables[0] print(df)
⚠️ 注意:此方法会降低安全性,不建议在生产环境使用。
方法3:修复虚拟环境证书配置
如果使用了虚拟环境(如你项目中的.venv),可能是虚拟环境未继承系统证书:
- 删除现有虚拟环境,重新创建:
rm -rf /Users/anaszahra/PycharmProjects/pythonProject/.venv python3.12 -m venv /Users/anaszahra/PycharmProjects/pythonProject/.venv - 激活虚拟环境后重新安装依赖,再运行代码。
内容的提问来源于stack exchange,提问作者Anas Zahra
相关产品推荐
相关产品推荐

