Kaggle APIを使ってデータをダウンロードする方法、OSError: kaggle.jsonが見つかりませんでした。の解決方法
概要

Kaggleにあるデータは、容量が大きく、ウェブブラウザのダウンロード機能に任せるには少し不安がある。そのため、大容量データを安定してダウンロードできるAPIが提供され、上のスクリーンショットで一番上にあるコードがそれに該当する。
ターミナルでpip install kaggleと入力してkaggleをインストールし、
kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification
を入力すると、作業ディレクトリに例示データがダウンロードされる。
エラー
実際、うまくいかないだろう。
PS D:\> kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification
Traceback (most recent call last):
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\rmsms\AppData\Local\Programs\Python\Python39\Scripts\kaggle.exe\__main__.py", line 4, in <module>
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\site-packages\kaggle\__init__.py", line 23, in <module>
api.authenticate()
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\site-packages\kaggle\api\kaggle_api_extended.py", line 164, in authenticate
raise IOError('Could not find {}. Make sure it\'s located in'
OSError: Could not find kaggle.json. Make sure it's located in C:\Users\rmsms\.kaggle. Or use the environment method.
原因
簡単に言うと、Kaggleに登録がされていないとダウンロードできないのだが、そのユーザー情報がないためにうまくいかない。ユーザー情報が含まれるkaggle.jsonファイルは、pipでのインストールができないため、直接Kaggleからダウンロードして特定のパスに配置する必要がある。
解決法
ステップ 1.

https://www.kaggle.com/ユーザー名/account またはユーザープロファイルからAccountタブを探す。
ステップ 2. kaggle.jsonファイルのダウンロード

該当ページでAPIを検索すると、上のようにAPIトークンを生成するボタンが見つかる。クリックすると、kaggle.jsonファイルをダウンロードできる。このガイドでは、混乱しないようにデフォルトダウンロードフォルダに受け取った。
ステップ 3. 特定のパスにコピー

必ず管理者権限でpowershellまたはターミナルを実行する。

上のようにkaggle.jsonがあるダウンロードフォルダに移動し、kaggle.jsonファイルをコピーするコマンドは次の2行である。
cd C:\Users\rmsms\Downloads
cp kaggle.json ~/.kaggle/kaggle.json
コピーに権限が必要になる可能性があるため、ターミナルも管理者権限で開いた。
ステップ 4. ダウンロードを試みる
kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification
上のコマンドを再入力すると、次のようにうまくダウンロードされていることが確認できる。

サイトで127.45GBだとされていたものが12.3GBしかダウンロードされていないように見えるが、圧縮率が非常に高いため驚く必要はない。解凍すると、元の広大なデータが現れる。

