237 lines
5.6 KiB
Markdown
237 lines
5.6 KiB
Markdown
# 抖音视频下载工具(中学生也能看懂版)
|
||
|
||
## 这个工具能做什么?
|
||
|
||
帮你下载抖音上的视频!支持两种方式:
|
||
|
||
1. **下载推荐页视频** - 就像你打开抖音看到的首页视频流
|
||
2. **下载某个博主的主页视频** - 下载你喜欢的博主发布的视频
|
||
|
||
## 你需要准备什么?
|
||
|
||
- 一台 Mac 电脑
|
||
- 已经下载了这个项目到本地
|
||
- 一点点耐心(需要手动登录抖音)
|
||
|
||
## 重要提醒
|
||
|
||
- 不能自动登录抖音(需要你手动扫码或输入密码)
|
||
- 不能自动过验证码(遇到验证码需要你自己点)
|
||
- 只能下载当前页面上已经显示的视频(不会自动翻页下载全部历史视频)
|
||
|
||
---
|
||
|
||
## 第一次使用(安装环境)
|
||
|
||
打开终端(Terminal),依次输入以下命令:
|
||
|
||
```bash
|
||
# 1. 进入项目文件夹
|
||
cd /你的项目目录/douyin-crawler-poc
|
||
|
||
# 2. 创建虚拟环境(隔离项目依赖)
|
||
python3 -m venv .venv
|
||
|
||
# 3. 激活虚拟环境
|
||
source .venv/bin/activate
|
||
|
||
# 4. 安装需要的库
|
||
pip install requests DrissionPage
|
||
```
|
||
|
||
**什么是虚拟环境?** 就像给这个项目建了一个独立的房间,里面放的工具不会影响电脑其他地方。
|
||
|
||
---
|
||
|
||
## 使用方法一:下载推荐页视频(首页视频流)
|
||
|
||
### 步骤 1:启动浏览器并登录抖音
|
||
|
||
```bash
|
||
./.venv/bin/python login_douyin.py
|
||
```
|
||
|
||
运行后会发生什么:
|
||
- 会自动打开 Chrome 浏览器
|
||
- 浏览器会显示抖音登录页面
|
||
- **你需要手动登录**(扫码或输入账号密码)
|
||
- 如果遇到验证码,也需要手动完成
|
||
|
||
### 步骤 2:下载视频
|
||
|
||
登录成功后,在终端输入:
|
||
|
||
```bash
|
||
# 下载默认数量(50个视频)
|
||
./.venv/bin/python Douyin.py
|
||
|
||
# 或者只下载10个视频
|
||
./.venv/bin/python Douyin.py --max-videos 10
|
||
|
||
# 或者只下载3个视频(测试用)
|
||
./.venv/bin/python Douyin.py --max-videos 3
|
||
```
|
||
|
||
**注意:** 下载前请确保浏览器显示的是抖音推荐页(就是打开抖音看到的第一个页面,有很多视频往下滚动的那种)。
|
||
|
||
---
|
||
|
||
## 使用方法二:下载某个博主的主页视频
|
||
|
||
### 步骤 1:同样先启动浏览器并登录
|
||
|
||
```bash
|
||
./.venv/bin/python login_douyin.py
|
||
```
|
||
|
||
### 步骤 2:进入博主主页
|
||
|
||
在浏览器中:
|
||
1. 搜索你想下载的博主(比如某个美食博主)
|
||
2. 点击进入他的主页
|
||
3. 等待页面加载完成(看到博主的视频列表)
|
||
|
||
### 步骤 3:下载视频
|
||
|
||
在终端输入:
|
||
|
||
```bash
|
||
# 下载当前页面显示的视频(默认只下载当前页)
|
||
./.venv/bin/python Douyin.py
|
||
|
||
# 或者下载多页(自动向下滚动加载)
|
||
./.venv/bin/python Douyin.py --pages 3
|
||
```
|
||
|
||
**注意:** `--pages 3` 表示滚动加载3页,但抖音可能会限制,不一定能下载到那么多。
|
||
|
||
---
|
||
|
||
## 方法三:直接下载单个视频
|
||
|
||
如果你只想下载某一个具体的视频:
|
||
|
||
```bash
|
||
# 方法 A:通过视频链接下载
|
||
./.venv/bin/python Douyin.py "https://www.douyin.com/video/视频ID"
|
||
|
||
# 方法 B:直接通过视频ID下载
|
||
./.venv/bin/python Douyin.py "7619989983668240802"
|
||
```
|
||
|
||
---
|
||
|
||
## 下载的视频在哪里?
|
||
|
||
所有下载的视频都会保存在项目文件夹里的 `video/` 文件夹中。
|
||
|
||
文件名格式:
|
||
|
||
```
|
||
[博主昵称]视频标题-视频ID.mp4
|
||
```
|
||
|
||
例如:
|
||
```
|
||
[小张一人食]花2XXX在汕头喝白粥...-7633717884061725297.mp4
|
||
[相声老司机]春晚不好看?...-7606185972144901412.mp4
|
||
```
|
||
|
||
---
|
||
|
||
## 常见问题
|
||
|
||
### Q1:运行时报错 "缺少 requests" 或 "缺少 DrissionPage"
|
||
|
||
**解决:** 没有安装依赖,运行:
|
||
```bash
|
||
pip install requests DrissionPage
|
||
```
|
||
|
||
### Q2:提示 "当前页面不是受支持的抖音页面"
|
||
|
||
**解决:**
|
||
- 如果要用推荐页:确保浏览器显示的是抖音首页(有视频流往下滚动的页面)
|
||
- 如果要用博主页:确保你在某个博主的主页
|
||
|
||
### Q3:下载了0个视频
|
||
|
||
**解决:**
|
||
- 检查是否已登录抖音
|
||
- 检查当前页面是否有视频显示
|
||
- 等待页面完全加载后再运行下载命令
|
||
|
||
### Q4:Chrome 浏览器没打开
|
||
|
||
**解决:**
|
||
- 确保你用的是 Mac
|
||
- 确保已安装 Google Chrome
|
||
- 检查是否有其他 Chrome 正在运行,先关闭再试
|
||
|
||
### Q5:我想下载更多视频怎么办?
|
||
|
||
**推荐页:**
|
||
```bash
|
||
./.venv/bin/python Douyin.py --max-videos 100
|
||
```
|
||
|
||
**博主页:**
|
||
```bash
|
||
./.venv/bin/python Douyin.py --pages 5
|
||
```
|
||
|
||
---
|
||
|
||
## 所有可用命令汇总
|
||
|
||
```bash
|
||
# 查看所有参数说明
|
||
./.venv/bin/python Douyin.py --help
|
||
|
||
# 推荐页下载(默认50个)
|
||
./.venv/bin/python Douyin.py
|
||
|
||
# 推荐页下载(指定数量)
|
||
./.venv/bin/python Douyin.py --max-videos 20
|
||
|
||
# 博主页下载(默认当前页)
|
||
./.venv/bin/python Douyin.py
|
||
|
||
# 博主页下载(多页)
|
||
./.venv/bin/python Douyin.py --pages 3
|
||
|
||
# 单视频下载
|
||
./.venv/bin/python Douyin.py "https://www.douyin.com/video/xxx"
|
||
|
||
# 修改等待时间(如果网络慢)
|
||
./.venv/bin/python Douyin.py --timeout 20
|
||
|
||
# 修改保存位置
|
||
./.venv/bin/python Douyin.py --output-dir 我的视频
|
||
```
|
||
|
||
---
|
||
|
||
## 详细图文教程
|
||
|
||
如果你还是不太明白,可以查看这份更详细的图文教程:
|
||
|
||
[小白图文操作手册](/Users/wangshaoqing/Desktop/MiaoSi/Study/douyin-crawler-poc/externaldocs/beginner-guide.md)
|
||
|
||
---
|
||
|
||
## 技术说明(给感兴趣的同学)
|
||
|
||
这个工具使用了两步式工作流:
|
||
|
||
1. **login_douyin.py** - 启动带调试端口的 Chrome,让你手动登录
|
||
2. **Douyin.py** - 附着到已登录的浏览器,监听抖音的 API 请求,提取视频地址并下载
|
||
|
||
为什么需要手动登录?因为抖音有反爬虫机制,自动登录容易被封。
|
||
|
||
---
|
||
|
||
## 免责声明
|
||
|
||
本工具仅供学习交流使用,请勿用于商业用途或侵犯他人权益。下载的视频版权归原博主所有。
|