问题描述
我正在尝试打开pandas数据框列中的网址链接,但是每次我尝试打开其中一个链接(无论是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名称:基本reguladoras,dtype:bytes576“”
解决方法
尝试使用filtrado['Bases reguladoras'].iloc[0]
而不是filtrado.iloc[[0]]['Bases reguladoras']
。后者返回pandas.core.series.Series
,而前者是普通条目。