作者:
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()