散々苦しめられたkaggleAPIでのデータダウンロード。
同じように苦しまずに済むように、kaggleAPIを使ってデータをダウンロードする方法をここに記す。
事の発端
ある時、データをダウンロードしようと、電話認証でエラーが発生。
以前送られていた認証コードを入力するも、解消ならず。。。
諦めてほかにデータをダウンロードする方法はないかを調べてみると、kaggleAPIを使う方法を発見。
日本語の記事を中心に、やってみたが、そもそもIT知識がないが所以に、うまくいかず一度は挫折。
時を改めて、再トライしたら、無事にダウウンロードできたので、ここにまとめておきます。
実行環境
Microsoft Windows [Version 10.0.19044.1706]
操作手順
下準備
kaggleAPIをインストール
コマンドプロントを「管理者として実行」後、以下を実行。
pip install kaggle
kaggleサイトにログインして、Tokenを取得
kaggle.jsonファイルを指定の場所に保存
Windows10でユーザーアカウントが「Suzuki」の場合、c:/Users/Suzuki/.kaggle/ にkaggle.jsonを置けば準備OKです。
.kaggle←「.」を忘れないように!
使えるかを確認
最初にpip istall を実行した場所で以下を実行。
kaggle -h
こんな感じの画面が出たら、OK!
データの取得
ここまで問題なく、これたら後は欲しいデータを取得するだけです。
コンペ一覧を取得
先ほどと同じ、コマンドプロント上で以下を実行。
kaggle competitions list
こんな感じで、コンペの一覧が出ます。
ファイルの一覧を取得
コンペ名を指定してファイル一覧を取得します。titanicの場合は、以下を実行。
kaggle competitions files -c titanic
Windowsボタンを押して、「titanic」を検索すれば、titanic.zipというフォルダが見つかるはずです。
ファイルを一括ダウンロード(APIコマンドを入力)
APIコマンドをサイトからコピーして、コマンドプロント上で実行することでファイルを一括ダウンロードできます。
画像の赤枠のボタンをクリック。
コマンドがコピーされるので、コマンドプロント上で実行。
こんな感じのoutput file download・・・に続いて、ファイル名が表示されたら、ダウンロード完了。
ダウンロードしたファイルの場所は、僕の場合、
C:\path\to\dest
cドライブ直下のpath>to>destの中にありました。(人によって違う場合あり。)
注意点
- jsonファイルは一番新しいものを指定のフォルダに入れること
- .kaggleの「.」を忘れないこと