「Hadoop Authoritative Guide」の気象データは、ftp://ftp3.ncdc.noaa.gov/pub/data/noaa からダウンロードできます。このデータをインターネット上で見ることができてとてもうれしいです。問題が見つかりました。ファイルが多すぎて、[名前を付けて保存] を 1 つずつクリックしました。Xunlei にはバッチ ダウンロードがあるはずですが、私のブラウザでは Xunlei が無効になっているようです。はい、オンラインで調べたところ、非常に簡単であることがわかりました。
ftplib インポート FTP から
def ftpconnect():
ftp_server = 'ftp3.ncdc.noaa.gov'
ユーザー名 = ''
パスワード = ''
ftp=FTP()
ftp.set_debuglevel (2) #デバッグレベル2を開いて詳細情報を表示
ftp.connect(ftp_server,21) #Connect
ftp.login(username,password) #ログイン、匿名でログインする場合は空文字列を使用してください代わりに
return ftp
def downloadfile():
ftp = ftpconnect()
#print ftp.getwelcome() #ftp サーバーのウェルカム メッセージを表示
datapath = "/pub/ data/ noaa/"
year=1911
while year<=1930:
path=datapath+str(year)
li 内の各ファイルの li = ftp.nlst(path)
:
localpaths = eachFile.split("/")
localpath = localpaths[len(localpaths)-1]
localpath='weatherdata/'+str(year)+'--'+localpath#Put日付 先頭にあり、ソートに便利
bufsize = 1024 #バッファブロックサイズを設定
fp = open(localpath,'wb') #ファイルを書き込みモードでローカルに開きます
ftp.retrbinary('RETR ' + eachFile ,fp.write,bufsize) #サーバー上のファイルを受信し、ローカル ファイルに書き込みます
year=year+1
ftp.set_debuglevel(0) #デバッグを閉じる
fp.close()
ftp.quit() #ftp サーバーを終了します
if __name__=="__main__":
downloadfile()