Tansat XCO2数据下载

该博客介绍了如何利用Python爬虫批量下载TanSatXCO2产品的过程。作者首先分析了下载链接的规律,并展示了如何构建完整的URL。通过设置年份和月份的循环,爬虫按日期生成并请求每个文件的下载链接,成功下载的文件会保存到指定路径,同时打印文件名,而未成功下载的文件则输出错误信息。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

批量下载TanSat XCO2 产品

网址:http://39.106.65.69/CGGA
网站本身不支持直接批量点击下载,而是需要一个一个手动下载:
在这里插入图片描述
总共有300+数据,一个一个点可能有点麻烦,因此,可以尝试用简单的爬虫下载:
先随机下载一个数据,然后查看他的下载URL:
在这里插入图片描述
可以看到他的数据url有明显的规律:“https://zheda.oss-cn-beijing.aliyuncs.com/casa_data/TanSat/L2_XCO2/XXXXXX(年月)/数据名”
那么我们可根据这个规律构建出所有我们需要下载的数据的url并根据此进行下载:

import requests
import os
import random

url_header='https://zheda.oss-cn-beijing.aliyuncs.com/casa_data/TanSat/L2_XCO2/'#固定的url前缀
year=[2017,2018]

dir_out=r'E:\Tansat\CO2_data'#输出路径设置
#下面的循环主要是为了构建出所有url,大体思路就是通过年份和月份,一个月全部当成31天,可以不用考虑大小月,如果没有那一天,那么url也不会有内容
for year_i in year:
    for month_i in range(1,13):
        if year_i == 2017:
            if month_i <= 3:
                continue
        if year_i == 2018:
            if month_i >5:
                break
        # print(str(year_i)+str(month_i).zfill(2))
        
        for day_i in range(1,32):
            url_now=url_header+str(year_i)+str(month_i).zfill(2)+'/'+'TanSat_ACGS_SCI_ND_L2_XCO2_lite_'+str(year_i)+str(month_i).zfill(2)+str(day_i).zfill(2)+'.nc'
            out_name='TanSat_ACGS_SCI_ND_L2_XCO2_lite_'+str(year_i)+str(month_i).zfill(2)+str(day_i).zfill(2)+'.nc'
			#这开始 前面url_now已经成功将所有url已经构建成功了,后面是爬取过程:
            res=requests.get(url_now)
            if res.status_code == 200:
                with open(os.path.join(dir_out,out_name),'wb') as f:
                    f.write(res.content)
                print('The download file: '+out_name)#成功的数据输出
            else:
                print('Unsucessed file: '+out_name)#失败的数据输出


您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值