我是新的蟒蛇。我想通过这个网址代码数据下载:“ftp://cddis.nasa.gov/gnss/products/ionex/”。不过,我想有这种格式的文件:“codgxxxx.xxx.Z”。所有这些文件都是每年(enter image description here),因为它是在这里展示里面:enter image description here。我如何使用python只是这些文件下载?
到现在为止我一直使用wget使用此代码:wget的ftp://cddis.nasa.gov/gnss/products/ionex/2008/246/codg0246.07i.Z”,对文件中的每一个,但就是繁琐。
谁能帮我请!。
谢谢
既然你知道FTP服务器的结构,这可能是很容易做到,而不必使用FTPLIB。
这将是清洁剂实际上从服务器检索目录列表,如this question
(我似乎不能够连接到NASA URL虽然)
我建议对如何实际执行FTP下载阅读here更多。
但是,这样的事情可能工作。 (全面披露:我没有测试过)
import urllib
YEARS_TO_DOWNLOAD = 12
BASE_URL = "ftp://cddis.nasa.gov/gnss/products/ionex/"
FILE_PATTERN = "codg{}.{}.Z"
SAVE_DIR = "/home/your_name/nasa_ftp/"
year = 2006
three_digit_number = 0
for i in range(0, YEARS_TO_DOWNLOAD):
target = FILE_PATTERN.format(str(year + i), str(three_digit_number.zfill(3))
try:
urllib.urlretrieve(BASE_URL + target, SAVE_DIR + target)
except urllib.error as e:
print("An error occurred trying to download {}.\nReason: {}".format(target,
str(e))
else:
print("{} -> {}".format(target, SAVE_DIR + target))
print("Download finished!")