爬取Ocean Color上GOCI数据的所有下载链接

建了一个QQ群,大家可以在里边聊聊水色遥感数据下载和数据处理方面的事情:1087024529

GOCI数据好久不更新了,不知道咋回事。
闲着没事把GOCI的所有下载链接爬下来了

代码:

#-*-coding: utf-8-*-  
#@Author: zhaohaiyang
#@E-mail: hyzhao_rs@163.com
#获取GOCI在OceanColor上的所有下载链接
#获取GOCI所有快视图链接
#GOCI所有文件名
#
##########################################################

import os 
import urllib
import requests
import pandas as pd 
from bs4 import BeautifulSoup

def download(url,num):
    try:
        html=urllib.request.urlopen(url).read()
    except:
        html=None
        if num>0:
            return download(url,num-1)
    return html

#.获取GOCI在OceanColor上的所有下载链接
rootUrl='https://oceandata.sci.gsfc.nasa.gov/directaccess/GOCI/L1/'
rootHTML=urllib.request.urlopen(rootUrl).read()
yearDataFrame=pd.read_html(rootHTML)[0]
yearList=list(yearDataFrame['Directory'])

with open('H:/All_GOCI_Data_URL.txt','w') as gb:
    for year in yearList:
        yearUrl=rootUrl+year
        yearHTML=download(yearUrl,5)
        
        if yearHTML is None:
            print(year)

        else:
            dayDataFrame=pd.read_html(yearHTML)[0]
            dayList=list(dayDataFrame['Directory'])
            for day in dayList:
                dayUrl=yearUrl+day[-4:-1]
                dayHTML=download(dayUrl,5)
                if dayHTML is None:
                    print('   '+day)
                else:
                    tempDataFrame=pd.read_html(dayHTML)[0]
                    tempDataNameList=list(tempDataFrame['Filename'])
                    for tdnl in tempDataNameList:
                        dataUrl='https://oceandata.sci.gsfc.nasa.gov/goci/getfile/'+tdnl
                        gb.writelines(dataUrl+'\n')
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值