237 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 抖音视频下载工具(中学生也能看懂版)
## 这个工具能做什么?
帮你下载抖音上的视频!支持两种方式:
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个视频
**解决:**
- 检查是否已登录抖音
- 检查当前页面是否有视频显示
- 等待页面完全加载后再运行下载命令
### Q4Chrome 浏览器没打开
**解决:**
- 确保你用的是 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 请求,提取视频地址并下载
为什么需要手动登录?因为抖音有反爬虫机制,自动登录容易被封。
---
## 免责声明
本工具仅供学习交流使用,请勿用于商业用途或侵犯他人权益。下载的视频版权归原博主所有。