# DouYin_Spider
**Repository Path**: chenchenDemo/DouYin_Spider
## Basic Information
- **Project Name**: DouYin_Spider
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-10-16
- **Last Updated**: 2026-10-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🎶DouYin_Spider
## ❤️Sponsor
**Sponsored by [Vectrust](https://api.openai-next.com) @ OpenDev Org & NextRouter Alliance**
[想出现在这里?](mailto:992822653@qq.com)
---
[](https://www.fastaitoken.com/register?aff=48J4VXUABAAV)
**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](https://www.fastaitoken.com/register?aff=48J4VXUABAAV),兼容 Codex / Claude Code / Gemini CLI 等主流工具。**
---
**✨ 专业的抖音数据采集与交互解决方案,支持数据爬取、直播间监听、私信收发、创作者发布等功能**
大模型时代,自动化是每个开发者都绕不开的课题。
当你想让 AI Agent 真正落地到抖音——自动处理私信、感知直播间动态、驱动内容互动——第一道墙往往不是模型能力,而是**平台通信能力的缺失**。
本项目做的事很简单:把这道墙拆掉。
**⚠️ 严禁用于发布不良信息、违法内容!本项目仅供学习与技术研究使用,如有侵权请联系作者删除,后果自负。**
## 🌟 功能特性
- ✅ **多维度数据采集**
- 用户主页信息 / 作品详情
- 评论区数据(含多级回复)
- 智能搜索(视频 / 用户 / 直播)
- 关注 / 粉丝列表
- 消息通知 / 收藏列表 / 推荐流
- 🎙️ **直播间实时监听**
- 弹幕消息 / 礼物(含送礼对象)/ 进场 / 关注 / 点赞 / 房间热度
- PK 实时事件 / PK 排行榜 / 直播间贡献榜
- 直播间发送弹幕消息
- 直播间点赞
- 💬 **抖音私信收发**
- WebSocket 实时接收私信(文本 / 表情包 / 语音 / 图片 / 分享视频)
- 主动发送私信
- 创建 / 查询会话列表
- 🤝 **互动操作**
- 点赞视频
- 发布评论 / 回复评论
- 收藏 / 移动 / 取消收藏作品
- 📤 **创作者中心**
- 发布图集 / 视频(支持可见范围、是否允许下载等设置)
- 🔑 **多种登录方式**
- Cookie / 扫码登录 / 手机号验证码登录
- 🚀 **高性能架构**
- 自动重试机制 / 断线重连
- 🔒 **安全稳定**
- 抖音最新 API 适配
- 异常处理机制
- proxy 代理
- 🎨 **便捷管理**
- 结构化目录存储
- 格式化输出(JSON / EXCEL / MEDIA)
## 🎨效果图
### 处理后的所有用户

### 某个用户所有的视频\图集

### 某个视频\图集具体的内容

### 某个直播时的具体弹幕发言和礼物数据

### 保存的excel

## 🛠️ 快速开始
### ⛳运行环境
- Python 3.9+
- Node.js 18+(可选,仅部分直播 / 验证码场景会调用,主流程签名已全部纯 Python 实现)
### 🎯安装依赖
```
pip install -r requirements.txt
```
### 🎨配置文件
现在推荐只配置 `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](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,再回到页面触发一次点赞、收藏或评论请求:
```js
(() => {
const aes = window.DTraitUcAesEncrypt;
if (!aes?.encryptData) throw new Error('dtrait SDK 尚未初始化,请先刷新并等待页面加载完成');
const original = aes.encryptData;
aes.encryptData = function (...args) {
for (const value of args) {
const text = typeof value === 'string' ? value : JSON.stringify(value ?? '');
try {
const payload = JSON.parse(text);
if (payload?.dtrait) console.log('DY_DTRAIT_BLOB=', payload.dtrait);
} catch (_) {}
}
return original.apply(this, args);
};
console.log('dtrait hook installed; now trigger one write request');
})();
```
把 Console 打印的 `DY_DTRAIT_BLOB` 值复制到 `.env`。不要复制完整 Cookie 或 `x-tt-session-dtrait` 外层密文;外层头会由项目按当前路径和时间重新生成。
### 🚀运行项目
```
# 数据爬取
python main.py
# 直播间监听(弹幕 / 礼物 / 点赞等)
python dy_live/server.py
# 抖音私信实时接收
python dy_apis/douyin_recv_msg.py
# 创作者中心快速发布图集 / 视频(先修改文件顶部的“用户配置”)
python quick_publish.py
```
### 🗝️注意事项
- `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 | - 新增搜索智能排序和限制时间。 |
| 23/10/21 | - 新增可视化界面到release v1.1.0。 |
| 23/10/25 | - 新增issue提出的输出直播间消息时包括用户等级。 |
| 23/10/28 | - 遇到验证码请手动点击!Fix Some Bugs。 |
| 23/11/11 | - 修复了很多很多大家的bug~~,关于v.dy格式的url正在处理 |
| 23/12/22 | - 修复了直播间监控 |
| 25/06/07 | - 开放所有之前闭源的代码,包括数据爬取和直播间监听 |
| 26/04/09 | - 修复直播间礼物信息接收(含送礼对象);新增直播间点赞、直播间发弹幕;新增抖音私信实时接收(WebSocket)与主动发送功能 |
| 26/07/26 | - 签名算法全部改为纯 Python 实现,主流程不再依赖 Node.js;私信支持浏览器登录 |
| 26/08/30 | - 新增创作者中心发布图集 / 视频;新增扫码、手机号验证码登录 |
| 26/09/13 | - 新增直播间贡献榜接口 |
| 26/09/19 | - 新增直播间 PK 排行榜接口与 PK 实时事件监听 |
| 26/09/20 | - 对齐直播间弹幕发送与作品评论发布接口 |
| 26/09/27 | - 修复视频下载(CDN 需带 Referer,之前会把 403 页面存成 mp4);单个作品下载失败时跳过,不再中断整批 |
## 🤝 欢迎贡献 PR
本项目欢迎任何形式的贡献!如果你有新功能想法、Bug 修复或文档改进,欢迎提交 PR。
- Fork 本仓库并在新分支上开发
- 保持代码风格与现有代码一致
- PR 描述中请简要说明改动内容和目的
- 也欢迎通过 [Issue](https://github.com/cv-cat/DouYin_Spider/issues) 提出建议或报告问题
## 🧸额外说明
1. 感谢star⭐和follow📰!不时更新
2. 作者的联系方式在主页里,有问题可以随时联系我
3. 可以关注下作者的其他项目,欢迎 PR 和 issue
4. 感谢赞助!如果此项目对您有帮助,请作者喝一杯奶茶~~ (开心一整天😊😊)
5. thank you~~~
## 📈 Star 趋势
## 🍔 交流群
如果你对爬虫和 AI Agent 感兴趣,可以加入群聊一起讨论~
ps: 请加群,人满或者过期 issue | wx 提醒 | qq提醒
| group-1 | group-2 | group-3 | group-4 (2000人qq群) |
|:--:|:--:|:--:|:--:|
|
|
|
|
|