python - 下载 .xls 文件
问题描述
我一直在尝试使用urllib
这样的下载 .xls 文件
from urllib.request import urlretrieve as retrieve
dls = "https://www.bvc.com.co/mercados/DescargaXlsServlet?archivo=acciones&fecha=2020-04-02&resultados=100&tipoMercado="
retrieve(dls,"Acciones.xls")
但是我收到一条很长的错误消息,开头是:
Traceback (most recent call last):
File "C:\Users\quiki\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 1317, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
并以:
urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
我不知道这是否与 URL 不以“.xls”结尾的事实有关
解决方案
这是一个 ssl 证书验证错误。这意味着该站点的证书存在某种问题。
试试这个代码,它会禁用验证。
import requests
dls = "https://www.bvc.com.co/mercados/DescargaXlsServlet?archivo=acciones& fecha=2020-04-02&resultados=100&tipoMercado="
with open("Acciones.xls","wb") as f:
f.write(requests.get(dls,verify=False).content)
希望能帮助到你。
推荐阅读
- gitlab - 如何在安装 gitlab 运行器期间添加 Prometheus 侦听器
- c++ - 配置g++用wxwidget库构建c++
- docker - 合并多个 docker 镜像
- ansible - Ansible jinja 模板修剪最后一个字符
- jquery - 将关闭按钮的点击保存到 cookie
- java - 如何禁用 CalendarView 的滚动 - Android Dev
- terraform - Terraform - 除非启用,否则不要在防火墙规则上创建 log_config
- android - 移除边界 BottomNavigationView 以获得涟漪效果
- sharepoint - 如何在 SharePoint Online UI 中显示字段
- python - 如何安装模块,例如 (pandas/openpyxl)