📈 GH Trending Explorer 🎲 Surprise me

← all repos

cv-cat / DouYin_Spider

git clone https://github.com/cv-cat/DouYin_Spider.git v2.0.0 · 1mo ago

抖音逆向,抖音爬虫,抖音全部api、私信、直播间监听

+10
stars, 24h · #3,422
+~77
stars, 7 days · #2,729
+~330
stars, 30 days · #2,476
3.5k
★ total · +2% this week
913
forks · 80 open issues

Star history (as recorded here)

2026-10-20 · 3,436 ★ 2026-10-23 · 3,469 ★
LanguagePython
License—
Created2023-10-17 (3y ago)
Last pushtoday
Watchers24
OwnerUser

Links

README excerpt
# 🎶DouYin_Spider
## ❤️Sponsor
**Sponsored by Vectrust @ OpenDev Org & NextRouter Alliance**
 想出现在这里? 
---
**FastAIToken** 是面向开发者的 AI API 聚合平台,支持 OpenAI、Claude、Gemini 等主流大模型,兼容 OpenAI API 协议,可无缝接入 **Claude Code、Codex、Gemini CLI、Cherry Studio、Cline、Continue** 等各类 AI 开发工具。平台采用 **充值 1:1(1 元 = 1 美元 API 额度)**,帮助开发者以更低成本、更高效率地使用全球领先的大模型服务。
平台提供多个可选分组与公开状态页,开发者可根据成本、响应速度和稳定性自由选择不同渠道,并享受 **7×24 小时真人技术支持**(非机器人)。
**主要做 AI 开发接入?可以试试 FastAIToken,兼容 Codex / Claude Code / Gemini CLI 等主流工具。**
---
**✨ 专业的抖音数据采集与交互解决方案,支持数据爬取、直播间监听、私信收发、创作者发布等功能**
大模型时代,自动化是每个开发者都绕不开的课题。
当你想让 AI Agent 真正落地到抖音——自动处理私信、感知直播间动态、驱动内容互动——第一道墙往往不是模型能力,而是**平台通信能力的缺失**。
本项目做的事很简单:把这道墙拆掉。
**⚠️ 严禁用于发布不良信息、违法内容!本项目仅供学习与技术研究使用,如有侵权请联系作者删除,后果自负。**
## 🌟 功能特性
- ✅ **多维度数据采集**
 - 用户主页信息 / 作品详情
 - 评论区数据(含多级回复)
 - 智能搜索(视频 / 用户 / 直播)
 - 关注 / 粉丝列表
 - 消息通知 / 收藏列表 / 推荐流
- 🎙️ **直播间实时监听**
 - 弹幕消息 / 礼物(含送礼对象)/ 进场 / 关注 / 点赞 / 房间热度
 - PK 实时事件 / PK 排行榜 / 直播间贡献榜
 - 直播间发送弹幕消息
 - 直播间点赞
- 💬 **抖音私信收发**
 - WebSocket 实时接收私信(文本 / 表情包 / 语音 / 图片 / 分享视频)
 - 主动发送私信
 - 创建 / 查询会话列表
- 🤝 **互动操作**
 - 点赞视频
 - 发布评论 / 回复评论
 - 收藏 / 移动 / 取消收藏作品
- 📤 **创作者中心**
 - 发布图集 / 视频(支持可见范围、是否允许下载等设置)
- 🔑 **多种登录方式**
 - Cookie / 扫码登录 / 手机号验证码登录
- 🚀 **高性能架构**
 - 自动重试机制 / 断线重连
- 🔒 **安全稳定**
 - 抖音最新 API 适配
 - 异常处理机制
 - proxy 代理
- 🎨 **便捷管理**
 - 结构化目录存储
 - 格式化输出(JSON / EXCEL / MEDIA)
## 🎨效果图
### 处理后的所有用户
### 某个用户所有的视频\图集
### 某个视频\图集具体的内容
### 某个直播时的具体弹幕发言和礼物数据
### 保存的excel
## 🛠️ 快速开始
### ⛳运行环境
- Python 3.9+
- Node.js 18+(可选,仅部分直播 / 验证码场景会调用,主流程签名已全部纯 Python 实现)
### 🎯安装依赖
 [code] 
### 🎨配置文件
现在推荐只配置 `DY_COOKIES`:主站 `Auth` 会被作品接口、直播 REST/WebSocket 和创作者中心共同复用。
`DY_LIVE_COOKIES` 仍可作为旧版独立直播浏览器的显式覆盖,但不再是必填项。
配置文件在项目根目录.env文件中,将下图自己的登录cookie放入其中,cookie获取➡️在浏览器f12打开控制台,点击网络,点击fetch,找一个接口点开
复制cookie到.env文件中(注意!登录抖音后的cookie才是有效的,不登陆没有用)
> ⚠️ 请在 `www.douyin.com` 登录后,从任意 `/aweme/v1/web/` 接口请求中复制**完整** cookie,确认其中包含 `UIFID` 字段。缺少 `UIFID` 时作品详情、搜索等接口会被风控拦截(`Uifid Not Found`)。
> `UIFID` 是推荐流接口响应下发的设备标识,复制完整 Cookie 后会自动带上,用户不需要手工生成或填写。
### 写接口的 dtrait 配置
发布、评论、点赞、收藏等写接口会发送按请求路径重算的 `x-tt-session-dtrait`。项目默认加载随包的 utils/dtrait_profile.json,通常不需要额外配置;显式设置 `DY_DTRAIT_BLOB` 时会优先使用它。
`utils/dtrait_features.py` 是 dtrait 内层 VM 的纯 Python 实现,负责 Murmur3、特征标签、布尔位图和 base64 打包;档案里的渲染哈希是设备一次采样后复用的常量,外层 RSA/AES 则每次按请求路径和时间重新计算。
换设备时可以在 `.env` 中设置 `DY_DTRAIT_PROFILE` 指向自己的设备档案 JSON。抓取时在已登录的 `www.douyin.com` 打开开发者工具,在 Console 先执行下面的 hook,再回到页面触发一次点赞、收藏或评论请求:
 [code] 
把 Console 打印的 `DY_DTRAIT_BLOB` 值复制到 `.env`。不要复制完整 Cookie 或 `x-tt-session-dtrait` 外层密文;外层头会由项目按当前路径和时间重新生成。
### 🚀运行项目
 [code] 
### 🗝️注意事项
- `main.py` 是爬虫入口,可根据需求自行修改调用
- `dy_apis/douyin_api.py` 包含全部 API 接口封装,含直播间点赞、发消息、私信收发等
- `dy_live/server.py` 包含直播间 WebSocket 监听逻辑
- `dy_apis/douyin_recv_msg.py` 包含抖音私信 WebSocket 实时接收逻辑
- `dy_apis/douyin_creator_api.py` 包含创作者中心上传 / 发布作品接口
- `dy_apis/login_api.py` 包含扫码、手机号验证码登录逻辑
- `dy_live/pk.py` 包含直播间 PK 事件解析
## 🍥日志
| 日期 | 说明 |
| -------- | ------------------------------------ |
| 23/10/05 | - 项目完成。 |
| 23/10/17 | - 首次提交。 |
| 23/10/18 | - 监听直播间弹幕和礼物。 |
| 23/10/21 | - 新增搜索智能排序和限制时间。 |
| 2