IDM+Python批量自动化下载哨兵5号数据

目录

操作步骤

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(哨兵)卫星数据》两篇文章,根据需求做了一些小改动,原文中提供更详细的说明,本文仅为记录本次工作,原文见参考文章一、二。

操作步骤

1、检索数据,将网页另存为html文件

  1. 输入检索时间、产品、位置等信息后,确认无误点击搜索按钮,等待结果加载。更改products per page参数,尽量使所有结果在同一页显示,将页面另存为html文件。(数据实在太多,可以存为多个文件,依次处理即可。)
  2. 2、使用pythonsoup库解析html文件,取得链接地址

第三方库: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)

3、通过IDM批量下载。

安装和配置IDMGoogle chrome商店有官方的IDM插件,免费试用30天。

需要注意IDM用于哨兵数据下载时,需要一些特殊设置。见附录二。

python生成的链接地址复制,在IDM工具栏中打开:任务->从剪贴板中添加批量下载,IDM自动识别URL,不必理会error提示。

根据需要选择保存位置,选择需要下载的文件

 确认无误后点击确定,将文件添加到设置好的哨兵数据专用下载队列中,确定。选择目标下载队列,右键点击,选择现在开始,即可开始下载。

  

附录

一、如何使用Pycharm安装pandas

点击FileSettings,点击ProjecttestProject Interpreter,如果列表中没有pandas,就选择右边的+号,输入pandas,确认无误,点击Install Package,等待安装自动完成即可。其它库类似。

除此之外,也可以采用pip安装,在pycharm的命令行中输入pip install pandas 回车,即可完成安装。

二、配置IDM用于哨兵数据下载

需要注意IDM用于哨兵数据下载时,需要一些特殊设置。

1、新建站点

下载->选项->站点管理,新建,通过下拉框选择https://,输入服务器地址,用户名,密码等信息,确认。

  

2、对同一资源的最大连接数设为1

下载->选项->连接,新建,输入服务器地址,通过下拉框选择https://,最大连接数设为1

3、新建队列,队列同时下载文件数量设为1

A. 新建队列,输入队列名称,保存。

 

B.右键,编辑队列,修改为同时下载 1 个文件

参考资料

使用Python快速获取哥白尼数据开放访问中心购物车里的数据下载链接

使用IDM批量下载Sentinel(哨兵)卫星数据

Python3+pycharm安装教程

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值