我想使用 wget(FTP) 下载 python 的文件。但发生错误。请帮忙下载

i want download files with python using wget(FTP). but error occured. please help to download

我想在 ftp 中下载“*_ice.nc”个文件。所以..

图书馆

import wget
import math
import re 
from urllib import request

地址和文件列表

url = "ftp://ftp.hycom.org/datasets/GLBy0.08/expt_93.0/data/hindcasts/2021/" #url
html = request.urlopen(url) #open url
html_contents = str(html.read().decode("cp949"))
url_list = re.findall(r"(ftp)(.+)(_ice.nc)", html_contents)

循环下载

for url in url_list: #loop 
    url_full="".join(url) #tuple to string
    file_name=url_full.split("/")[-1]
    print('\nDownloading ' + file_name) 
    wget.download(url_full) #down with wget

但是出现这样的错误信息 (值错误:未知 url 类型:'ftp%20%20%20%20%20%20ftp%20%20%20%20%20%20382663848%20Jan%2002%20%202021%20hycom_GLBy0.08_930_2021010112_t000_ice.nc')

我能得到一些帮助吗?

解码后

ftp%20%20%20%20%20%20ftp%20%20%20%20%20%20382663848%20Jan%2002%20%202021%20hycom_GLBy0.08_930_2021010112_t000_ice.nc

ftp      ftp      382663848 Jan 02  2021 hycom_GLBy0.08_930_2021010112_t000_ice.nc

这显然不是合法的 ftp 地址。你需要改变你的代码,所以它会是

ftp://ftp.hycom.org/datasets/GLBy0.08/expt_93.0/data/hindcasts/2021/hycom_GLBy0.08_930_2021010112_t000_ice.nc

我建议暂时使用 print(url_full) 替换 wget.download(url_full),然后应用更改以获得所需的输出,然后恢复为 wget.download(url_full)