首页 > 解决方案 > 如何格式化 python 数据框超链接,以便我可以使用 Web 浏览器正确打开它们?

问题描述

我正在尝试打开位于 pandas 数据框列中的 url 链接,但每次尝试打开其中一个链接时都会出现错误,无论它们是指向 pdf 的链接还是指向某些网页的链接。

到目前为止,这是我的代码:

url = filtrado.iloc[[0]]['Bases reguladoras']

print(url)

webbrowser.get('safari').open_new(url)

我收到此错误(翻译自西班牙语):“Safari 无法打开指定地址,因为它的第一部分无效”。

这是我要打开的网址之一:“http://www.bocm.es/boletin/CM_Orden_BOCM/2018/08/09/BOCM-20180809-15.PDF”

当我直接打开链接时:

webbrowser.get('safari').open_new("http://www.bocm.es/boletin/CM_Orden_BOCM/2018/08/09/BOCM-20180809-15.PDF")

它工作正常,所以我猜数据框正在以某种方式解析字符串,我无法使用它作为有效地址。

实际上,当尝试使用“请求”库下载内容时:

myfile = requests.get(url)
open('./Prueba_bocm.pdf', 'wb').write(myfile.content)

我收到错误消息:“未找到“22 b'的连接适配器”http://www.bocm.es/boletin/CM_Orden_BOCM/2018/08/09/BOCM-20180809-15.PDF'\n名称:基础规则,数据类型:字节576“”

标签: pythonpython-requestspython-webbrowser

解决方案


尝试filtrado['Bases reguladoras'].iloc[0]代替filtrado.iloc[[0]]['Bases reguladoras']. 后者返回,pandas.core.series.Series而前者是简单的条目。


推荐阅读