目录
操作步骤
1、检索数据,将网页另存为html文件
2、使用python的soup库解析html文件,取得链接地址
3、通过IDM批量下载。
附录
一、如何使用Pycharm安装pandas
二、配置IDM用于哨兵数据下载
1、新建站点
2、对同一资源的最大连接数设为1。
3、新建队列,队列同时下载文件数量设为1。
参考资料
通过Python获取数据链接地址,通过IDM实现批量下载。
最后修改2021/4/2 Evelyn Song。
本文参考hyzhao_RS的《使用Python快速获取哥白尼数据开放访问中心购物车里的数据下载链接》和《使用IDM批量下载Sentinel(哨兵)卫星数据》两篇文章,根据需求做了一些小改动,原文中提供更详细的说明,本文仅为记录本次工作,原文见参考文章一、二。
第三方库:pandas+bs4(安装见附录)
Python代码如下:参考hyzhao_RS代码,根据需求做了一些修改。
from bs4 import BeautifulSoup
import pandas as pd
filepath = 'Sentinel-5P Pre-Operations Data Hub.html' # 保存的网页,自己按照实际保存位置调整
with open(filepath, 'rb') as f:
ss = f.read()
soup = BeautifulSoup(ss, 'html.parser')
# 获取所有id为cart-row-attributes的div标签
divfind = soup.find_all('div', attrs={"class": "list-link selectable"})
linklist = []
# idlist = []
for df in divfind:
# 获取满足条件的div下的a标签
# 提取a标签的内容,即为数据链接
link = df.find('a').string
# id = link.split('\'')[1]
linklist.append(link)
# idlist.append(id)
divfind = soup.find_all('div', attrs={"class": "list-item-title ng-binding"})
itemList = []
for df in divfind:
item = df
itemList.append(item)
linkDataframe = pd.DataFrame(linklist)
# iddataframe = pd.DataFrame(idlist)
itemDataframe = pd.DataFrame(itemList)
# 将数据链接写出
with pd.ExcelWriter('Httpandid.xlsx') as hifile:
linkDataframe.to_excel(hifile, sheet_name='URL', header=False, index=False)
# iddataframe.to_excel(hifile, sheet_name='ID', header=False, index=False)
itemDataframe.to_excel(hifile, sheet_name='fileName', header=False, index=False)
安装和配置IDM:Google chrome商店有官方的IDM插件,免费试用30天。
需要注意IDM用于哨兵数据下载时,需要一些特殊设置。见附录二。
将python生成的链接地址复制,在IDM工具栏中打开:任务->从剪贴板中添加批量下载,IDM自动识别URL,不必理会error提示。
根据需要选择保存位置,选择需要下载的文件
确认无误后点击确定,将文件添加到设置好的哨兵数据专用下载队列中,确定。选择目标下载队列,右键点击,选择现在开始,即可开始下载。
点击File→Settings,点击Project:test→Project Interpreter,如果列表中没有pandas,就选择右边的+号,输入pandas,确认无误,点击Install Package,等待安装自动完成即可。其它库类似。
除此之外,也可以采用pip安装,在pycharm的命令行中输入pip install pandas 回车,即可完成安装。
需要注意IDM用于哨兵数据下载时,需要一些特殊设置。
下载->选项->站点管理,新建,通过下拉框选择https://,输入服务器地址,用户名,密码等信息,确认。
下载->选项->连接,新建,输入服务器地址,通过下拉框选择https://,最大连接数设为1。
A. 新建队列,输入队列名称,保存。
B.右键,编辑队列,修改为同时下载 1 个文件
使用Python快速获取哥白尼数据开放访问中心购物车里的数据下载链接
使用IDM批量下载Sentinel(哨兵)卫星数据
Python3+pycharm安装教程