【发布时间】:2021-02-04 01:24:57
【问题描述】:
我知道这个问题已被问过多次,但到目前为止,没有一个解决方案真正奏效。
我想将一些文件拉取到基于URL 的网络工具。
这似乎是一个 FTP 共享,但正在使用
import ftplib
url = 'ftp://ftp.ebi.ac.uk/pub/databases/metabolights/studies/public/MTBLS1167'
ftp = ftplib.FTP(url)
6 ftp = ftplib.FTP(url) gaierror: [Errno -2] 名称或服务未知
使用wget可以轻松下载单个文件:
wget.download(url+'/'+filename, out=ms_dir)
但是,wget 的 python 实现并没有实现 Linux 工具的所有功能。因此,wget.download(url+'/*.*', out=ms_dir) 之类的内容不起作用。
因此,我需要先拉取我要下载的文件列表,然后逐个下载文件。我试过beautifulsoup、requests、urllib。但是对于一个十年前可能已经解决了一百万次或根本不起作用的问题,所有解决方案似乎都过于复杂了。
但是,例如
import requests
response = requests.get(url, params=params)
InvalidSchema:找不到用于...的连接适配器
import urllib3
http = urllib3.PoolManager()
r = http.request('GET', url)
URLSchemeUnknown:不支持 URL 方案 ftp
等等。我不确定我在这里做错了什么。
【问题讨论】:
-
查看
ftplib文档,它说: 示例: >>> from ftplib import FTP >>> ftp = FTP('ftp.python.org') # 连接到主机,默认端口>>> ftp.login() # 默认,即:用户匿名,密码匿名@ -
这和我上面写的有什么不同?我已经在 FTP(URL) 收到一条错误消息,你的意思是我必须使用 FTP('ftp.ebi.ac.uk') 吗?我可以试试。那可能是我做错了。
标签: python python-requests urllib3 ftplib