抖音批量下载:一条链接一份配置,视频去水印入库
【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader
douyin-downloader 是个命令行抖音批量下载工具,视频、图文、合集、音乐、直播都能无水印存到本地,适合想把关注博主内容长期存档的个人用户。
从零到第一次跑通
先拉代码装依赖,Python 3.8+ 就行,Windows、macOS、Linux 都能跑。跑完你该看到:目录里能列出 requirements.txt 和 run.py,终端没有红色报错。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt然后是登录态。抖音大量内容只对登录用户开放,这步不做后面全白跑。项目自带浏览器抓取脚本:先装 Playwright 和 Chromium,拷一份带注释的配置模板,再运行抓取。浏览器弹出后扫码登录,回终端按 Enter,Cookie 会自动写进 config.yml 的 cookies 段——做完你该看到这段不再是 YOUR_ 开头的占位符。
pip install playwright python -m playwright install chromium cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml把 config.yml 里的 link 换成一条你想下的视频链接即可,模板里每个字段都有中文注释。启动后你该看到:终端打出完成统计,Downloaded 下出现以作者名命名的目录,里面就是无水印 mp4。
python run.py -c config.yml不想动文件的话,命令行参数也能临时覆盖配置:-u 追加链接、-t 调并发数。
它能替你干哪些活
| 你想干的活 | 怎么触发 | 落到硬盘上的东西 |
|---|---|---|
| 单条视频或图文 | link 填 /video/{aweme_id} 或 /note/{note_id} | 无水印 mp4(或按序归档的图片)+ 可选原声、封面 |
| 主页批量下载 | link 填 /user/{sec_uid} + mode 勾选 | 按 作者/模式/作品 三级分目录 |
| 收藏夹与收藏合集 | /user/self?showTab=favorite_collection + collect 或 collectmix | 登录账号里的收藏内容 |
| 直播录制 | link 填 live.douyin.com/{room_id} | FLV 文件 + 房间信息 JSON |
| 评论采集 | comments.enabled: true | 每条作品旁多一个 *_comments.json |
| 热搜或关键词导出 | --hot-board 30 / --search "关键词" | JSONL 文件,方便二次筛选 |
只下几条的话,看前两行就够了;要做长期存档,后几行的增量和去重能力才是重点。
🎬 跟着场景走
备份博主主页。把博主主页链接填进 link,mode 里勾要抓的类型,number 给每种模式设上限(0 表示不限),post/like/mix/music 可以混着一次跑完,跨模式自动去重。改完再启动,跑完你该看到该博主目录下多了 post 和 mix 两个子目录。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix number: post: 50 mix: 20提醒一句:collect/collectmix 只能单独用,不能和上面四种模式混写。
录一整场直播。直播间链接直接填进 link,程序自己拉流,不用开录屏软件。录满时长、主播下播或你手动 Ctrl+C,已录的字节都会保留成 FLV,存在 Downloaded/{作者}/live/ 下,附带一份房间元数据 JSON。max_duration_seconds 填 0 表示一直录到主播下播。
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600跑完(或中断)后,live 目录下应出现一个 FLV 文件和一份 _room.json。
只导数据不下文件。只想收集数据不占硬盘时,两条命令就够,结果分别落在 Downloaded/hot_board 和 Downloaded/search 下的 JSONL 文件,可以直接用 pandas 或 jq 处理。
python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded同套后端还有个桌面版 Douzy(内测中):粘贴链接即下、关注博主同步、任务中心跟踪,跑完你该看到关注列表直接标出每个博主的新作品。
哪些配置值得你动手
只挑"改了行为会明显变化"的几个,其余看模板注释就行:
| 配置项 | 默认值 | 改完会怎样 |
|---|---|---|
| database | true | 每条下载写进 SQLite,下次运行自动跳过已下内容;关掉它硬盘迟早堆出重复文件 |
| increase.post 等 | true | 本地已存在的媒体直接跳过,删掉文件才会重下 |
| browser_fallback | 开启、有头 | 翻页被风控截断时自动开浏览器,headless: false 时你能手动过验证码 |
| thread | 5 | 并发数,网络稳可以提到 8,上来拉满反而容易触发风控 |
| video_quality | highest | 改 original 会额外探测上传原片,画质更好但每条多一次探测请求 |
| notifications | 关 | 打开后下载完成推 Bark / Telegram / Webhook,长任务挂机不慌 |
跑挂了怎么办
| 现象 | 多半是 | 怎么办 |
|---|---|---|
| 突然大面积请求失败 | Cookie 过期 | 重跑 cookie_fetcher 脚本更新登录态 |
| 主页只抓到 20 条左右 | 翻页触发风控 | browser_fallback.enabled: true 且 headless: false,弹窗里手动过验证码 |
| 硬盘里堆出重复文件 | 没开数据库去重 | database: true,再配合 increase 走增量 |
| 想重下某条被跳过的 | 去重机制认出了它 | 删本地对应文件夹,再删库里那条记录,参考 README.zh-CN.md 的"重新下载"一节 |
| 进度输出太吵 | 日志没静默 | progress.quiet_logs: true;排查时临时加 -v |
✅ 收尾建议
- 先拿一条单条视频链接验证 Cookie 和网络,跑通了再上主页批量。
- 测试阶段把 number.post 设成 1~5,跑通后再放开到 0。
- 不同任务分开配(config_test.yml、config_daily.yml),别共用一份。
- Cookie 失效是常态,把它当周期性维护项,别当故障。
- 长任务打开 notifications 推送,跑完手机就能收到。
本项目仅供技术学习与个人数据管理使用,请在合法合规的前提下使用,尊重内容版权与创作者权益。
【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考