首页/实用指南/科研数据

Kaggle 数据集怎么下载?使用官方 CLI 下载 Dataset 和 Competition

Kaggle 数据量较小时可以直接从网页下载。文件较多或需要下载 Competition 数据时,可以使用官方 Kaggle CLI。

1. 安装 Kaggle CLI

Kaggle CLI 依赖 Python;尚未安装时,先参考 Python 3 安装与 pip 镜像配置

Windows

powershell
python -m pip install -U kaggle

macOS / Linux

bash
python3 -m pip install -U kaggle

安装后检查:

bash
kaggle --help

2. 下载普通 Kaggle Dataset

Kaggle Dataset 地址通常是 https://www.kaggle.com/datasets/OWNER/DATASET

bash
kaggle datasets download OWNER/DATASET

下载并自动解压:

bash
kaggle datasets download OWNER/DATASET --unzip

保存到指定目录:

bash
kaggle datasets download OWNER/DATASET -p ./data --unzip

3. 查看数据集包含哪些文件

bash
kaggle datasets files OWNER/DATASET

文件较多时:

bash
kaggle datasets files OWNER/DATASET --page-size 100

4. 只下载一个文件

bash
kaggle datasets download OWNER/DATASET -f FILE_NAME

指定保存目录:

bash
kaggle datasets download OWNER/DATASET -f FILE_NAME -p ./data

5. 需要登录时

bash
kaggle auth login

服务器没有图形界面时:

bash
kaggle auth login --no-launch-browser

6. 下载 Kaggle Competition 数据

Competition 地址通常是 https://www.kaggle.com/competitions/COMPETITION

bash
kaggle competitions download COMPETITION

下载并解压到指定目录:

bash
kaggle competitions download COMPETITION -p ./competition --unzip

7. 只下载 Competition 中的一个文件

bash
kaggle competitions files COMPETITION
bash
kaggle competitions download COMPETITION -f FILE_NAME -p ./competition

8. Competition 下载返回 403

先打开对应比赛页面,加入 Competition 并接受规则,然后重新执行下载命令。

9. 401 Unauthorized

bash
kaggle auth login --force

私有 Dataset 或其他受限资源,还需要当前 Kaggle 账号本身具有访问权限。

10. 429 Too Many Requests

暂停一段时间后重新执行。如果通过脚本批量调用 Kaggle API,同时检查是否存在过于频繁的循环请求。

11. 一个完整例子

bash
kaggle datasets files uciml/iris
kaggle datasets download uciml/iris --unzip

数据量较大或下载仍不稳定时

如果 Kaggle 页面可以访问、账号也具有相应权限,但较大的 Dataset 或 Competition 数据仍无法正常获取,可以将 Kaggle 页面链接提交给 DataCrosslane 确认。

不需要提供 Kaggle 主账号密码。