Re: [讨论] 大家都怎么抓连续的云图

楼主: seaEPC (没看见,我没看见 >_<)   2016-07-06 17:59:13
※ 引述《BrianCashman (最强⑨番-さるの)》之铭言:
: ※ 引述《lavifoxbat (花次郎)》之铭言:
: : 这个script能把startDate和endDate间所有的云图抓下来
: : 如果要从不同的来源抓图
: : 理论上来说只要知道图片的网址和档名形式
: : 并依此修改filename和imread中的网址
: : 如果手头上没有MATLAB
: : 可以考虑安装Octave
: : 后者算是前者的免费版
: : 多google应该就能把这个script改写成Octave的版本
: : 顺带一提 希望有人能提供python 3的script
: ^^^^^^^^^^^^^^^^
: import urllib.request
: import datetime
: startT=datetime.datetime(2004, 6, 1)
: stopT=datetime.datetime(2004, 6, 3)
: t=startT
: while t<stopT:
: tget = t.strftime('%Y-%m-%d-%H')
: t=t+datetime.timedelta(0,3*60*60)
: urllib.request.urlretrieve('http://www.ncdc.noaa.gov/gibbs/image/GRD-1/IR/
: ' + tget, 'c:/'+tget+'.jpg')
自己调整一下参数,应该可以放著把站上全卫星全种类的图全砍下来...
不过我不知道这样砍站好不好就是了
# coding=UTF-8
import datetime
import os
from urllib import request, error
# 起始日期
START_DATE = datetime.date(year=2016, month=6, day=1)
# 结束日期
END_DATE = datetime.date(year=2016, month=6, day=5)
# 本地存放的资料夹路径
LOCAL_SAVE_PATH = os.path.join('D:\\', 'img')
# 卫星
SATELLITES = ['GOE-15', 'HIM-8', 'GOE-13']
# 图种类
TYPES = ['IR', 'VS', 'WV']
def daterange(start_date, end_date):
for n in range(int ((end_date - start_date).days) + 1):
yield start_date + datetime.timedelta(n)
def get_img():
for date in daterange(START_DATE, END_DATE):
for satellite in SATELLITES:
for img_type in TYPES:
for i in range(0, 24, 3):
img_name = '{}-{:02}'.format(date.strftime('%Y-%m-%d'), i)
img_src = 'http://www.ncdc.noaa.gov/gibbs/image/{}/{}/{}'.format(
satellite, img_type, img_name)
img_dest = os.path.join(LOCAL_SAVE_PATH, '{}-{}-{}.png'.format(
satellite, img_type, img_name))
try:
request.urlretrieve(img_src, img_dest)
print('Save url:[{}] to file [{}]'.format(img_src, img_dest))
except error.HTTPError as err:
print('Save url:[{}] meet error [{}] !!'.format(img_src, err))
if __name__ == '__main__':
get_img()

Links booklink

Contact Us: admin [ a t ] ucptt.com