下载抖音视频时遇到错误:
ERROR: [Douyin] Fresh cookies (not necessarily logged in) are needed
这是抖音的反爬虫机制,需要有效的浏览器 cookies。
# 自动在 Safari 中打开抖音
open -a Safari https://www.douyin.com或者手动:
- 打开 Safari 浏览器
- 访问
https://www.douyin.com - 等待页面完全加载(看到视频推荐)
- 随便浏览几个视频
- 关闭 Safari
python test_cookies.pypython app.py现在可以直接粘贴你的 URL 下载了!
如果 Safari 也不行,使用手动方式:
-
在 Safari 中访问抖音
- 打开 https://www.douyin.com
- 等待页面加载完成
-
获取 cookies
- 按
⌘ + ⌥ + I打开开发者工具 - 点击 "存储" 标签
- 选择 "Cookies" > "https://www.douyin.com"
- 找到
s_v_web_id这个 cookie - 复制它的值
- 按
-
创建 cookies 文件
创建文件 douyin_cookies.txt,内容如下:
# Netscape HTTP Cookie File
.douyin.com TRUE / FALSE 0 s_v_web_id 你复制的值
-
安装扩展
- Chrome: Get cookies.txt
- Firefox: cookies.txt
-
导出 cookies
- 访问 https://www.douyin.com
- 点击扩展图标
- 选择 "Export" 或"导出"
- 保存为
douyin_cookies.txt
-
修改代码
编辑 downloader.py:179,修改为:
# 注释掉浏览器导入
# "cookiesfrombrowser": ("safari",),
# 使用 cookies 文件
"cookiefile": "./douyin_cookies.txt",python -c "
import yt_dlp
url = 'https://www.douyin.com/video/7568832119439522417'
opts = {
'quiet': False,
'cookiesfrombrowser': ('safari',),
}
with yt_dlp.YoutubeDL(opts) as ydl:
try:
info = ydl.extract_info(url, download=False)
print(f'✓ 成功! 视频标题: {info.get(\"title\")}')
except Exception as e:
print(f'✗ 失败: {e}')
"A: 在某些情况下,yt_dlp 无法正确读取 Chrome 的 cookies 数据库。Safari 在 macOS 上更可靠。
A: 不一定。但如果遇到"数据库被锁定"错误,需要关闭浏览器。
A: 会的,通常几小时到几天后过期。过期后重新访问抖音即可。
A: 不需要!只需要访问 douyin.com,浏览器会自动获取必要的 session cookies。
A: 可以!修改 downloader.py:179 为:
"cookiesfrombrowser": ("firefox",),运行诊断脚本:
python test_cookies.py这会告诉你:
- ✓ 哪些浏览器可用
- ✓ 是否成功读取到 cookies
- ✓ 是否找到关键的
s_v_web_idcookie ⚠️ 如果失败,会给出具体原因和解决方案
# 1. 在 Safari 中访问抖音
open -a Safari https://www.douyin.com
# 等待页面加载,浏览几个视频,然后关闭
# 2. 测试 cookies
python test_cookies.py
# 3. 如果测试通过,启动应用
python app.py
# 4. 在 Web 界面粘贴你的 URL
# https://www.douyin.com/root/search/...?modal_id=7568832119439522417- 浏览器: Safari(downloader.py:179)
- URL 转换: 自动(downloader.py:43-82)
- Cookies 方式: 自动从浏览器读取
更新日期: 2025-12-25 状态: 已配置使用 Safari 浏览器