首页 > 解决方案 > 下载 .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”结尾的事实有关

标签: pythonurllib

解决方案


这是一个 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)

希望能帮助到你。


推荐阅读