最近遇到了一个很有意思的事情,要对 https://data.pgc.umn.edu 这个网站的内容进行批量下载,因为内容过多,刚好支持 FTP 协议挂载,就产生了以下的一些操作。

下载RaiDrive

RaiDrive 操作截图

FTP挂载为本地硬盘,使用python进行分析

注意第四行 盘符,第六行是输出txt文件的位置,17行对前缀进行筛选

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import os

# 指定源文件夹路径
source_folder = r'Z:\elev\dem\setsm\ArcticDEM\mosaic\v4.1\2m'
# 指定输出TXT文件的完整路径
output_file = r'C:\path\to\your\output\file_list.txt'

# 确保输出文件的目录存在
os.makedirs(os.path.dirname(output_file), exist_ok=True)

# 打开输出文件准备写入
with open(output_file, 'w', encoding='utf-8') as file:
# 遍历源文件夹
for root, dirs, files in os.walk(source_folder):
for file_name in files:
# 检查文件名是否以"50_"、"51_"、...、"60_"开头
if any(file_name.startswith(prefix) for prefix in ["50_", "51_", "52_", "53_", "54_", "55_", "56_", "57_", "58_", "59_", "60_"]):
# 构建文件的完整路径
file_path = os.path.join(root, file_name)
# 将文件路径写入TXT文件
file.write(file_path + '\n')

print(f'文件地址汇总完成,已保存到 {output_file}')

把本地的地址批量替换为下载链接

记事本打开,快捷键 ctrl+H

使用批量替换

  1. Z: 替换为 https://data.pgc.umn.edu

  2. 将 \ 替换为 /

效果如下

把 Z:\elev\dem\setsm\ArcticDEM\mosaic\v4.1\2m\58_64\58_64_2_2_2m_v4.1.tar.gz

转换为 https://data.pgc.umn.edu/elev/dem/setsm/ArcticDEM/mosaic/v4.1/2m/58_64/58_64_2_2_2m_v4.1.tar.gz