Tansat XCO2数据下载

批量下载TanSat XCO2 产品

网址:http://39.106.65.69/CGGA
网站本身不支持直接批量点击下载,而是需要一个一个手动下载:

总共有300+数据,一个一个点可能有点麻烦,因此,可以尝试用简单的爬虫下载:
先随机下载一个数据,然后查看他的下载URL:
Tansat XCO2数据下载_第1张图片
可以看到他的数据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)#失败的数据输出


你可能感兴趣的:(python,python,爬虫,开发语言)