wget是linux/unix下一般使用的下載http/ftp的數據,使用很是方便,其實wget目前通過編譯,也可在windows下使用。最近須要下載大量的遙感數據,使用了python寫了批處理下載程序,使用的是urllib的urlretrieve進行下載,數據下載還能夠,可是界面交互性很差看。就根據本身在linux下載數據進行了改進。python
1. wget在windows下的安裝:linux
從網站下載wget for windows工具(http://gnuwin32.sourceforge.net/packages/wget.htm),解壓後將wget.exe拷貝至system32下,而後從cmd中鍵入wget,安裝成功提示以下:windows
2. python批處理腳本下載工具
下載的大量遙感水色數據來自於NASA OBPG網站(http://oceandata.sci.gsfc.nasa.gov),根據Order以後的數據列表,保存至txt,以後構建下載網址及字符串;然後使用suprocess.call進行下載。網站
代碼以下:url
#http://oceandata.sci.gsfc.nasa.gov/cgi/getfile/A2005067190000.L0_LAC.bz2 #!/usr/bin/env python #coding:utf-8 import os import os.path import subprocess def retrieving_obpg(filelist,outpath): '''Download data''' f = open(filelist,'r') log= open(os.path.splitext(filelist)[0]+'_log.txt','w') os.chdir(outpath) print(os.curdir) for i in f: try: each_item = str(i.strip()) cmd = 'wget http://oceandata.sci.gsfc.nasa.gov/cgi/getfile/'+each_item print(cmd) if not os.path.exists(outpath+each_item): status = subprocess.call(cmd) if status !=0: log.write('\nFailed:'+each_item) continue log.write('\nSuccess:'+each_item) log.flush() except: log.write('\nFailed:'+each_item) continue f.close() log.close() if __name__ =='__main__': import glob outpath = 'F:\\衛星數據\\MODIS\\' for filelist in glob.glob(r'F:\衛星數據\MODIS\filelists\*m2s.txt'): retrieving_obpg(filelist,outpath) print('END')