76 changed files with 21519 additions and 0 deletions
@ -0,0 +1,5 @@ |
|||||
|
# 阿里云百炼API配置 |
||||
|
DASHSCOPE_API_KEY=your_api_key_here |
||||
|
|
||||
|
# 模型配置 |
||||
|
DASHSCOPE_MODEL=qwen-plus |
||||
@ -0,0 +1,46 @@ |
|||||
|
# 环境变量 |
||||
|
.env |
||||
|
|
||||
|
# Python |
||||
|
__pycache__/ |
||||
|
*.py[cod] |
||||
|
*$py.class |
||||
|
*.so |
||||
|
.Python |
||||
|
build/ |
||||
|
develop-eggs/ |
||||
|
dist/ |
||||
|
downloads/ |
||||
|
eggs/ |
||||
|
.eggs/ |
||||
|
lib/ |
||||
|
lib64/ |
||||
|
parts/ |
||||
|
sdist/ |
||||
|
var/ |
||||
|
wheels/ |
||||
|
*.egg-info/ |
||||
|
.installed.cfg |
||||
|
*.egg |
||||
|
|
||||
|
# 虚拟环境 |
||||
|
venv/ |
||||
|
ENV/ |
||||
|
env/ |
||||
|
|
||||
|
# IDE |
||||
|
.vscode/ |
||||
|
.idea/ |
||||
|
*.swp |
||||
|
*.swo |
||||
|
|
||||
|
# 数据文件(可选) |
||||
|
# douyin_data/ |
||||
|
# douyin_data_soupce/douyin_data/ |
||||
|
|
||||
|
# 日志 |
||||
|
*.log |
||||
|
|
||||
|
# 临时文件 |
||||
|
*.tmp |
||||
|
.DS_Store |
||||
@ -0,0 +1,148 @@ |
|||||
|
# AI Agent 快速开始 |
||||
|
|
||||
|
## 30秒上手 |
||||
|
|
||||
|
### 1. 配置API Key |
||||
|
|
||||
|
```bash |
||||
|
# 创建 .env 文件 |
||||
|
echo "DASHSCOPE_API_KEY=your_api_key_here" > .env |
||||
|
``` |
||||
|
|
||||
|
### 2. 测试Agent |
||||
|
|
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
### 3. 使用API |
||||
|
|
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用Agent |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "帮我分析一下游戏类视频的热门趋势"}' |
||||
|
``` |
||||
|
|
||||
|
## 常用查询示例 |
||||
|
|
||||
|
### 分析分类趋势 |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "帮我分析一下游戏类视频的热门趋势"}' |
||||
|
``` |
||||
|
|
||||
|
### 获取创作建议 |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "我想做美食相关的内容,给我一些建议"}' |
||||
|
``` |
||||
|
|
||||
|
### 分析特定关键词 |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "王者荣耀的视频现在什么内容最火?"}' |
||||
|
``` |
||||
|
|
||||
|
### 多分类对比 |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "对比一下游戏和美食两个分类的热门趋势"}' |
||||
|
``` |
||||
|
|
||||
|
## 自定义Agent行为 |
||||
|
|
||||
|
### 修改提示词 |
||||
|
|
||||
|
编辑 `prompts/agent_prompt.md`: |
||||
|
|
||||
|
```markdown |
||||
|
## 工作流程 |
||||
|
|
||||
|
### 2. 制定执行计划 |
||||
|
|
||||
|
**场景A:用户提到明确的分类** |
||||
|
- 使用 `get_creative_guidance` 获取数据 |
||||
|
- 使用 `analyze_video_data` 分析 |
||||
|
- 总结并给出建议 |
||||
|
|
||||
|
**场景B:你的自定义场景** |
||||
|
- 你的自定义逻辑 |
||||
|
- ... |
||||
|
``` |
||||
|
|
||||
|
### 添加新工具 |
||||
|
|
||||
|
在 `ai_agent.py` 中: |
||||
|
|
||||
|
```python |
||||
|
# 1. 定义工具函数 |
||||
|
async def your_tool(param: str) -> Dict: |
||||
|
# 实现 |
||||
|
return {"success": True, "data": ...} |
||||
|
|
||||
|
# 2. 在 create_agent() 中注册 |
||||
|
agent.register_tool( |
||||
|
name="your_tool", |
||||
|
func=your_tool, |
||||
|
description="工具描述", |
||||
|
parameters={...} |
||||
|
) |
||||
|
``` |
||||
|
|
||||
|
## 工作原理 |
||||
|
|
||||
|
``` |
||||
|
用户: "帮我分析游戏类视频" |
||||
|
↓ |
||||
|
Agent: 理解意图 → 需要游戏分类数据 |
||||
|
↓ |
||||
|
Agent: 调用 get_creative_guidance(category="游戏") |
||||
|
↓ |
||||
|
Agent: 获得50个视频数据 |
||||
|
↓ |
||||
|
Agent: 调用 analyze_video_data(videos=...) |
||||
|
↓ |
||||
|
Agent: 获得统计分析结果 |
||||
|
↓ |
||||
|
Agent: 生成最终答案(包含趋势、建议等) |
||||
|
↓ |
||||
|
返回给用户 |
||||
|
``` |
||||
|
|
||||
|
## 支持的查询类型 |
||||
|
|
||||
|
✅ **分类分析** |
||||
|
- "分析游戏类视频" |
||||
|
- "美食分类的热门趋势" |
||||
|
|
||||
|
✅ **创作建议** |
||||
|
- "我想做XX内容,给我建议" |
||||
|
- "如何做好XX类视频" |
||||
|
|
||||
|
✅ **关键词分析** |
||||
|
- "XX的视频什么最火" |
||||
|
- "XX领域的热门话题" |
||||
|
|
||||
|
✅ **对比分析** |
||||
|
- "对比XX和YY两个分类" |
||||
|
- "XX和YY哪个更火" |
||||
|
|
||||
|
❌ **不支持的查询** |
||||
|
- 创作具体内容(如"写一个视频脚本") |
||||
|
- 非抖音相关的问题 |
||||
|
- 需要实时数据的问题 |
||||
|
|
||||
|
## 下一步 |
||||
|
|
||||
|
- 查看 [README_AGENT.md](README_AGENT.md) 了解详细功能 |
||||
|
- 修改 [prompts/agent_prompt.md](prompts/agent_prompt.md) 自定义行为 |
||||
|
- 在 [ai_agent.py](ai_agent.py) 中添加新工具 |
||||
|
- 访问 http://localhost:8001/docs 查看API文档 |
||||
@ -0,0 +1,201 @@ |
|||||
|
# AI智能分类功能更新说明 |
||||
|
|
||||
|
## 更新时间 |
||||
|
2026-01-07 |
||||
|
|
||||
|
## 更新内容 |
||||
|
|
||||
|
### 1. 修改关键词提取为AI智能分类 |
||||
|
|
||||
|
**之前的实现**: |
||||
|
- 使用关键词匹配的方式识别分类 |
||||
|
- 需要维护大量的关键词映射表 |
||||
|
- 匹配不够智能,容易出现误判 |
||||
|
|
||||
|
**现在的实现**: |
||||
|
- 使用阿里云百炼AI模型进行智能分类 |
||||
|
- AI会理解用户的意图和描述 |
||||
|
- 从26个分类中选择最匹配的一个 |
||||
|
- 更加准确和智能 |
||||
|
|
||||
|
### 2. 删除后备关键词匹配函数 |
||||
|
|
||||
|
**删除的函数**: |
||||
|
- `fallback_keyword_matching()` - 关键词匹配后备方案 |
||||
|
|
||||
|
**原因**: |
||||
|
- 用户明确表示不需要这个方法 |
||||
|
- AI分类已经足够准确 |
||||
|
- 简化代码逻辑 |
||||
|
|
||||
|
### 3. 错误处理优化 |
||||
|
|
||||
|
**AI分类失败时的处理**: |
||||
|
- 不再调用关键词匹配后备方案 |
||||
|
- 直接返回默认分类"泛生活" |
||||
|
- 保持系统的简洁性 |
||||
|
|
||||
|
## 支持的26个分类 |
||||
|
|
||||
|
1. 美食 |
||||
|
2. 旅行 |
||||
|
3. 泛生活 |
||||
|
4. 汽车 |
||||
|
5. 科技 |
||||
|
6. 游戏 |
||||
|
7. 二次元 |
||||
|
8. 娱乐 |
||||
|
9. 明星 |
||||
|
10. 体育 |
||||
|
11. 文化教育 |
||||
|
12. 校园 |
||||
|
13. 政务 |
||||
|
14. 时尚 |
||||
|
15. 才艺 |
||||
|
16. 随拍 |
||||
|
17. 动植物 |
||||
|
18. 图文控 |
||||
|
19. 剧情 |
||||
|
20. 亲子 |
||||
|
21. 三农 |
||||
|
22. 创意 |
||||
|
23. 户外 |
||||
|
24. 公益 |
||||
|
|
||||
|
## 工作流程 |
||||
|
|
||||
|
### extract_search_keywords() 函数 |
||||
|
|
||||
|
```python |
||||
|
def extract_search_keywords(user_query: str) -> Dict: |
||||
|
""" |
||||
|
使用AI从用户查询中提取最匹配的内容分类 |
||||
|
|
||||
|
Args: |
||||
|
user_query: 用户查询 |
||||
|
|
||||
|
Returns: |
||||
|
提取的分类信息 |
||||
|
""" |
||||
|
``` |
||||
|
|
||||
|
**执行步骤**: |
||||
|
|
||||
|
1. **构建AI提示词** |
||||
|
- 列出所有26个分类 |
||||
|
- 要求AI从中选择最匹配的一个 |
||||
|
- 如果无法确定,返回"泛生活" |
||||
|
|
||||
|
2. **调用AI模型** |
||||
|
- 使用 `qwen-plus` 模型 |
||||
|
- 发送用户描述和分类列表 |
||||
|
- 获取AI的分类结果 |
||||
|
|
||||
|
3. **验证分类结果** |
||||
|
- 检查AI返回的分类是否在列表中 |
||||
|
- 如果不在,尝试模糊匹配 |
||||
|
- 都不匹配则使用默认分类"泛生活" |
||||
|
|
||||
|
4. **错误处理** |
||||
|
- API调用失败:返回默认分类 |
||||
|
- 异常情况:返回默认分类 |
||||
|
- 不再使用关键词匹配后备方案 |
||||
|
|
||||
|
## 返回格式 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"success": true, |
||||
|
"categories": ["美食"], |
||||
|
"primary_category": "美食", |
||||
|
"original_query": "我想做一些美食相关的短视频", |
||||
|
"method": "ai_classification" |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
**字段说明**: |
||||
|
- `success`: 是否成功 |
||||
|
- `categories`: 分类列表(数组,目前只包含一个) |
||||
|
- `primary_category`: 主分类 |
||||
|
- `original_query`: 用户原始查询 |
||||
|
- `method`: 分类方法 |
||||
|
- `ai_classification`: AI智能分类 |
||||
|
- `ai_classification_fuzzy`: AI分类+模糊匹配 |
||||
|
- `default`: 默认分类 |
||||
|
|
||||
|
## 测试方法 |
||||
|
|
||||
|
### 方法1:使用测试脚本 |
||||
|
|
||||
|
```bash |
||||
|
python test_ai_classification.py |
||||
|
``` |
||||
|
|
||||
|
这个脚本会测试多个场景: |
||||
|
- 明确提到分类的查询 |
||||
|
- 描述内容特征的查询 |
||||
|
- 不明确的查询 |
||||
|
|
||||
|
### 方法2:使用完整的Agent测试 |
||||
|
|
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
或者使用快速测试: |
||||
|
|
||||
|
```bash |
||||
|
python quick_test.py |
||||
|
``` |
||||
|
|
||||
|
### 方法3:通过API测试 |
||||
|
|
||||
|
启动API服务: |
||||
|
```bash |
||||
|
python api.py |
||||
|
``` |
||||
|
|
||||
|
调用Agent接口: |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d "{\"query\": \"我想做一些美食相关的短视频\"}" |
||||
|
``` |
||||
|
|
||||
|
## 优势 |
||||
|
|
||||
|
1. **更智能**:AI能理解用户的真实意图 |
||||
|
2. **更准确**:不依赖关键词匹配,减少误判 |
||||
|
3. **更简洁**:删除了复杂的关键词映射表 |
||||
|
4. **更灵活**:可以理解各种表达方式 |
||||
|
5. **更易维护**:不需要维护关键词列表 |
||||
|
|
||||
|
## 注意事项 |
||||
|
|
||||
|
1. **API Key配置**:确保 `.env` 文件中配置了正确的 `DASHSCOPE_API_KEY` |
||||
|
2. **网络连接**:需要能够访问阿里云百炼API |
||||
|
3. **默认分类**:当AI无法确定时,会使用"泛生活"作为默认分类 |
||||
|
4. **分类列表**:如果需要添加新分类,需要同时更新: |
||||
|
- `extract_search_keywords()` 函数中的分类列表 |
||||
|
- `get_creative_guidance` 工具的 `enum` 参数 |
||||
|
- `prompts/agent_prompt.md` 中的分类列表 |
||||
|
|
||||
|
## 相关文件 |
||||
|
|
||||
|
- `ai_agent.py` - 核心实现文件 |
||||
|
- `prompts/agent_prompt.md` - Agent系统提示词 |
||||
|
- `test_ai_classification.py` - 分类功能测试脚本 |
||||
|
- `test_agent.py` - 完整Agent测试脚本 |
||||
|
- `quick_test.py` - 快速测试脚本 |
||||
|
- `api.py` - API接口定义 |
||||
|
|
||||
|
## 下一步 |
||||
|
|
||||
|
系统已经完成了AI智能分类的实现,可以进行以下测试: |
||||
|
|
||||
|
1. 测试AI分类功能是否正常工作 |
||||
|
2. 验证26个分类都能被正确识别 |
||||
|
3. 测试完整的创作灵感生成流程 |
||||
|
4. 验证错误处理是否正常 |
||||
|
|
||||
|
如果测试通过,系统就可以正式使用了! |
||||
@ -0,0 +1,231 @@ |
|||||
|
# 分类点击问题修复说明(最终版本) |
||||
|
|
||||
|
## 问题描述 |
||||
|
|
||||
|
用户调用 `get_creative_guidance(category="校园")` 时,分类参数没有生效,返回的是默认的"全部"分类数据,而不是"校园"分类的数据。 |
||||
|
|
||||
|
即使修复了选择器,问题仍然存在。但是单独运行 `douyin_creative_guidance_playwright.py` 文件时可以正常工作。 |
||||
|
|
||||
|
## 根本原因 |
||||
|
|
||||
|
经过对比原始文件,发现了关键问题:**页面上的分类列表可能是折叠的**! |
||||
|
|
||||
|
在抖音创作指导页面,分类列表默认可能只显示部分分类,其他分类被折叠隐藏了。需要先点击"展开"按钮,才能看到所有分类(包括"校园")。 |
||||
|
|
||||
|
### 原始文件的正确实现 |
||||
|
|
||||
|
```python |
||||
|
# 先展开所有分类 |
||||
|
await page.evaluate(""" |
||||
|
() => { |
||||
|
const showButtons = document.querySelectorAll('.show-button-sDo51G'); |
||||
|
showButtons.forEach(btn => { |
||||
|
const text = btn.textContent.trim(); |
||||
|
// 如果按钮不是"收起",说明需要展开 |
||||
|
if (!text.includes('收起')) { |
||||
|
btn.click(); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
""") |
||||
|
await asyncio.sleep(1) |
||||
|
|
||||
|
# 然后再点击分类 |
||||
|
category_clicked = await page.evaluate(f""" |
||||
|
() => {{ |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
const targetDiv = categoryDivs.find(div => |
||||
|
div.textContent.trim() === '{category}' |
||||
|
); |
||||
|
if (targetDiv) {{ |
||||
|
targetDiv.click(); |
||||
|
return true; |
||||
|
}} |
||||
|
return false; |
||||
|
}} |
||||
|
""") |
||||
|
``` |
||||
|
|
||||
|
## 完整的修复步骤 |
||||
|
|
||||
|
### 步骤1:展开所有分类 |
||||
|
|
||||
|
```javascript |
||||
|
const showButtons = document.querySelectorAll('.show-button-sDo51G'); |
||||
|
showButtons.forEach(btn => { |
||||
|
const text = btn.textContent.trim(); |
||||
|
// 如果按钮不是"收起",说明需要展开 |
||||
|
if (!text.includes('收起')) { |
||||
|
btn.click(); |
||||
|
} |
||||
|
}); |
||||
|
``` |
||||
|
|
||||
|
**说明**: |
||||
|
- 查找所有展开/收起按钮(`.show-button-sDo51G`) |
||||
|
- 如果按钮文本不包含"收起",说明当前是折叠状态,需要点击展开 |
||||
|
- 等待1秒让展开动画完成 |
||||
|
|
||||
|
### 步骤2:点击目标分类 |
||||
|
|
||||
|
```javascript |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
const targetDiv = categoryDivs.find(div => |
||||
|
div.textContent.trim() === '校园' |
||||
|
); |
||||
|
if (targetDiv) { |
||||
|
targetDiv.click(); |
||||
|
return true; |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
**说明**: |
||||
|
- 现在所有分类都已展开,可以找到"校园"分类了 |
||||
|
- 点击后等待8秒让新数据加载 |
||||
|
|
||||
|
## 修复内容 |
||||
|
|
||||
|
### 1. 修复 `ai_agent.py` |
||||
|
|
||||
|
**位置**:`get_creative_guidance()` 函数 |
||||
|
|
||||
|
**修改前**: |
||||
|
```python |
||||
|
if category and category != "全部": |
||||
|
category_clicked = await page.evaluate(f""" |
||||
|
() => {{ |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
const targetDiv = categoryDivs.find(div => |
||||
|
div.textContent.trim() === '{category}' |
||||
|
); |
||||
|
if (targetDiv) {{ |
||||
|
targetDiv.click(); |
||||
|
return true; |
||||
|
}} |
||||
|
return false; |
||||
|
}} |
||||
|
""") |
||||
|
``` |
||||
|
|
||||
|
**修改后**: |
||||
|
```python |
||||
|
if category and category != "全部": |
||||
|
# 先展开所有分类 |
||||
|
await page.evaluate(""" |
||||
|
() => { |
||||
|
const showButtons = document.querySelectorAll('.show-button-sDo51G'); |
||||
|
showButtons.forEach(btn => { |
||||
|
const text = btn.textContent.trim(); |
||||
|
if (!text.includes('收起')) { |
||||
|
btn.click(); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
""") |
||||
|
await asyncio.sleep(1) |
||||
|
|
||||
|
# 然后点击分类 |
||||
|
category_clicked = await page.evaluate(f""" |
||||
|
() => {{ |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
const targetDiv = categoryDivs.find(div => |
||||
|
div.textContent.trim() === '{category}' |
||||
|
); |
||||
|
if (targetDiv) {{ |
||||
|
targetDiv.click(); |
||||
|
return true; |
||||
|
}} |
||||
|
return false; |
||||
|
}} |
||||
|
""") |
||||
|
``` |
||||
|
|
||||
|
### 2. 修复 `api.py` |
||||
|
|
||||
|
**位置**:`crawl_creative_guidance_api()` 函数 |
||||
|
|
||||
|
应用了相同的修复。 |
||||
|
|
||||
|
## 为什么之前没有发现这个问题? |
||||
|
|
||||
|
1. **原始文件可以工作**:因为它包含了展开分类的代码 |
||||
|
2. **复制代码时遗漏**:在将代码复制到 `ai_agent.py` 时,遗漏了展开分类的步骤 |
||||
|
3. **默认分类可见**:某些分类(如"美食"、"旅行")可能默认就是可见的,所以没有发现问题 |
||||
|
4. **"校园"被折叠**:"校园"分类可能在折叠的部分,所以找不到 |
||||
|
|
||||
|
## 测试方法 |
||||
|
|
||||
|
### 方法1:使用测试脚本 |
||||
|
|
||||
|
```bash |
||||
|
python test_category_click.py |
||||
|
``` |
||||
|
|
||||
|
### 方法2:完整流程测试 |
||||
|
|
||||
|
```bash |
||||
|
python quick_test.py |
||||
|
``` |
||||
|
|
||||
|
输入:"我想做一些校园相关的短视频" |
||||
|
|
||||
|
### 方法3:直接调用 |
||||
|
|
||||
|
```python |
||||
|
import asyncio |
||||
|
from ai_agent import get_creative_guidance |
||||
|
|
||||
|
async def test(): |
||||
|
result = await get_creative_guidance(category="校园") |
||||
|
print(f"分类: {result['category']}") |
||||
|
print(f"视频数量: {result['total_count']}") |
||||
|
if result['total_count'] > 0: |
||||
|
video = result['videos'][0] |
||||
|
print(f"第一个视频作者: {video['author']}") |
||||
|
print(f"第一个视频描述: {video['description'][:50]}...") |
||||
|
print(f"标签: {video.get('hashTags', [])}") |
||||
|
|
||||
|
asyncio.run(test()) |
||||
|
``` |
||||
|
|
||||
|
## 验证结果 |
||||
|
|
||||
|
修复后,应该能看到: |
||||
|
|
||||
|
1. **调试信息**: |
||||
|
``` |
||||
|
尝试点击分类: 校园 |
||||
|
分类点击结果: True |
||||
|
``` |
||||
|
|
||||
|
2. **返回的数据**: |
||||
|
- `category` 字段是 "校园" |
||||
|
- 视频内容都是校园相关的 |
||||
|
- 视频标签包含 `#校园` 等 |
||||
|
|
||||
|
3. **示例视频**: |
||||
|
``` |
||||
|
作者: 清华大学 |
||||
|
描述: 我会等! 等枯树生出芽,等你来清华!... |
||||
|
标签: ['#清华大学', '#我会等', '#校园', '#上岸'] |
||||
|
``` |
||||
|
|
||||
|
## 关键点总结 |
||||
|
|
||||
|
1. ✅ **必须先展开分类**:使用 `.show-button-sDo51G` 选择器 |
||||
|
2. ✅ **等待展开完成**:展开后等待1秒 |
||||
|
3. ✅ **使用正确的选择器**:`.each-kind-MR__DN` |
||||
|
4. ✅ **等待数据加载**:点击后等待8秒 |
||||
|
|
||||
|
## 相关文件 |
||||
|
|
||||
|
- ✅ `ai_agent.py` - 添加了展开分类的代码 |
||||
|
- ✅ `api.py` - 添加了展开分类的代码 |
||||
|
- ✅ `test_category_click.py` - 测试脚本 |
||||
|
- ✅ `CATEGORY_FIX_FINAL.md` - 本文件 |
||||
|
|
||||
|
## 修复完成 |
||||
|
|
||||
|
所有修改已完成,分类点击功能现在应该可以正常工作了! |
||||
|
|
||||
|
关键是要**先展开所有分类,然后再点击目标分类**。 |
||||
@ -0,0 +1,88 @@ |
|||||
|
# 修改总结 |
||||
|
|
||||
|
## ✅ 已完成的修改 |
||||
|
|
||||
|
### 1. 修改 `extract_search_keywords()` 函数 |
||||
|
- **位置**: `ai_agent.py` 第 700-780 行 |
||||
|
- **修改内容**: 从关键词匹配改为AI智能分类 |
||||
|
- **工作方式**: |
||||
|
- 使用阿里云百炼AI模型分析用户描述 |
||||
|
- 从26个分类中选择最匹配的一个 |
||||
|
- AI分类失败时返回默认分类"泛生活" |
||||
|
|
||||
|
### 2. 删除 `fallback_keyword_matching()` 函数 |
||||
|
- **原因**: 用户明确表示不需要 |
||||
|
- **影响**: 简化了代码逻辑 |
||||
|
- **验证**: 已确认代码中没有任何引用 |
||||
|
|
||||
|
### 3. 更新错误处理逻辑 |
||||
|
- **修改前**: AI失败时调用 `fallback_keyword_matching()` |
||||
|
- **修改后**: AI失败时直接返回默认分类"泛生活" |
||||
|
- **位置**: `ai_agent.py` 第 755-780 行 |
||||
|
|
||||
|
## 📋 支持的26个分类 |
||||
|
|
||||
|
美食、旅行、泛生活、汽车、科技、游戏、二次元、娱乐、明星、体育、文化教育、校园、政务、时尚、才艺、随拍、动植物、图文控、剧情、亲子、三农、创意、户外、公益 |
||||
|
|
||||
|
## 🔧 工作流程 |
||||
|
|
||||
|
``` |
||||
|
用户输入 |
||||
|
↓ |
||||
|
AI智能分析 |
||||
|
↓ |
||||
|
从26个分类中选择最匹配的一个 |
||||
|
↓ |
||||
|
验证分类是否有效 |
||||
|
↓ |
||||
|
返回分类结果(失败则返回"泛生活") |
||||
|
``` |
||||
|
|
||||
|
## 📝 测试方法 |
||||
|
|
||||
|
### 快速测试 |
||||
|
```bash |
||||
|
python test_ai_classification.py |
||||
|
``` |
||||
|
|
||||
|
### 完整测试 |
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
### API测试 |
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用接口 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d "{\"query\": \"我想做一些美食相关的短视频\"}" |
||||
|
``` |
||||
|
|
||||
|
## ✨ 优势 |
||||
|
|
||||
|
1. ✅ **更智能** - AI理解用户意图 |
||||
|
2. ✅ **更准确** - 不依赖关键词匹配 |
||||
|
3. ✅ **更简洁** - 删除了复杂的关键词表 |
||||
|
4. ✅ **更灵活** - 理解各种表达方式 |
||||
|
5. ✅ **更易维护** - 不需要维护关键词列表 |
||||
|
|
||||
|
## 📂 修改的文件 |
||||
|
|
||||
|
- ✅ `ai_agent.py` - 修改分类逻辑,删除后备函数 |
||||
|
- ✅ `test_ai_classification.py` - 新增测试脚本 |
||||
|
- ✅ `AI_CLASSIFICATION_UPDATE.md` - 详细更新说明 |
||||
|
- ✅ `CHANGES_SUMMARY.md` - 本文件 |
||||
|
|
||||
|
## 🎯 下一步 |
||||
|
|
||||
|
系统已经完成修改,可以开始测试: |
||||
|
|
||||
|
1. 运行 `test_ai_classification.py` 测试AI分类功能 |
||||
|
2. 运行 `test_agent.py` 测试完整流程 |
||||
|
3. 验证26个分类都能正确识别 |
||||
|
4. 测试创作灵感生成功能 |
||||
|
|
||||
|
所有修改已完成,系统可以正常使用! |
||||
@ -0,0 +1,215 @@ |
|||||
|
# ✅ 功能实现检查清单 |
||||
|
|
||||
|
## 你的需求 |
||||
|
|
||||
|
> "我想实现用户调用ai分析接口后会根据用户输入的关键词模型总结成可以进行搜索的关键词,然后调用douyin_creative_guidance_playwright方法传入关键词进行数据获取,获取完之后再进行总结。我可能会写很多方法,完全是让模型自己去选择用到哪种方法,只是更改analyze_prompt.md文件就可以控制。" |
||||
|
|
||||
|
## ✅ 已实现功能 |
||||
|
|
||||
|
### 1. ✅ AI Agent智能代理系统 |
||||
|
- [x] 用户用自然语言输入需求 |
||||
|
- [x] AI自动理解意图 |
||||
|
- [x] AI自动提取关键词 |
||||
|
- [x] AI自主选择工具 |
||||
|
- [x] AI自动调用数据获取方法 |
||||
|
- [x] AI自动分析数据 |
||||
|
- [x] AI生成总结和建议 |
||||
|
|
||||
|
### 2. ✅ 函数调用(Function Calling) |
||||
|
- [x] 支持多个工具函数 |
||||
|
- [x] AI自主选择工具 |
||||
|
- [x] 支持多轮工具调用 |
||||
|
- [x] 工具执行结果反馈给AI |
||||
|
|
||||
|
### 3. ✅ 提示词驱动 |
||||
|
- [x] `prompts/agent_prompt.md` - 控制Agent行为 |
||||
|
- [x] 定义工具选择逻辑 |
||||
|
- [x] 定义执行场景 |
||||
|
- [x] 只需修改提示词即可改变行为 |
||||
|
|
||||
|
### 4. ✅ 已注册的工具 |
||||
|
- [x] `extract_search_keywords` - 提取搜索关键词 |
||||
|
- [x] `get_creative_guidance` - 获取创作指导数据 |
||||
|
- [x] `search_douyin_videos` - 搜索抖音视频 |
||||
|
- [x] `analyze_video_data` - 分析视频数据 |
||||
|
|
||||
|
### 5. ✅ API接口 |
||||
|
- [x] `POST /api/agent` - AI智能代理接口 |
||||
|
- [x] `POST /api/search` - 搜索接口 |
||||
|
- [x] `POST /api/creative-guidance` - 创作指导接口 |
||||
|
- [x] `POST /api/analyze` - 分析接口 |
||||
|
- [x] `POST /api/analyze-file` - 文件分析接口 |
||||
|
|
||||
|
### 6. ✅ 易于扩展 |
||||
|
- [x] 可以轻松添加新工具 |
||||
|
- [x] 可以自定义提示词 |
||||
|
- [x] 可以定义新的执行场景 |
||||
|
|
||||
|
## 📁 核心文件清单 |
||||
|
|
||||
|
### ✅ 核心模块 |
||||
|
- [x] `ai_agent.py` - AI Agent核心实现 |
||||
|
- [x] `ai_analyzer.py` - AI分析模块 |
||||
|
- [x] `api.py` - FastAPI服务 |
||||
|
|
||||
|
### ✅ 提示词文件 |
||||
|
- [x] `prompts/agent_prompt.md` - Agent系统提示词(控制行为) |
||||
|
- [x] `prompts/analyze_prompt.md` - 数据分析提示词 |
||||
|
|
||||
|
### ✅ 测试脚本 |
||||
|
- [x] `test_agent.py` - Agent测试脚本 |
||||
|
- [x] `test_ai_analysis.py` - AI分析测试脚本 |
||||
|
|
||||
|
### ✅ 文档 |
||||
|
- [x] `README.md` - 项目主文档 |
||||
|
- [x] `START_HERE.md` - 新手入门指南 |
||||
|
- [x] `SUMMARY.md` - 功能总结 |
||||
|
- [x] `README_AGENT.md` - Agent完整文档 |
||||
|
- [x] `README_AI.md` - AI分析文档 |
||||
|
- [x] `AGENT_QUICKSTART.md` - Agent快速开始 |
||||
|
- [x] `PROJECT_OVERVIEW.md` - 项目总览 |
||||
|
- [x] `QUICKSTART.md` - 基础快速开始 |
||||
|
|
||||
|
### ✅ 配置文件 |
||||
|
- [x] `.env.example` - 环境变量示例 |
||||
|
- [x] `.gitignore` - Git忽略文件 |
||||
|
- [x] `requirements.txt` - 依赖包 |
||||
|
|
||||
|
## 🎯 使用示例 |
||||
|
|
||||
|
### ✅ 示例1:分析游戏类视频 |
||||
|
|
||||
|
**用户输入**: |
||||
|
``` |
||||
|
"帮我分析一下游戏类视频的热门趋势" |
||||
|
``` |
||||
|
|
||||
|
**Agent执行流程**: |
||||
|
1. ✅ AI理解意图:需要游戏分类数据 |
||||
|
2. ✅ AI选择工具:`get_creative_guidance` |
||||
|
3. ✅ 执行工具:获取游戏类视频数据 |
||||
|
4. ✅ AI选择工具:`analyze_video_data` |
||||
|
5. ✅ 执行工具:分析数据 |
||||
|
6. ✅ AI生成答案:包含趋势、建议等 |
||||
|
|
||||
|
### ✅ 示例2:提取关键词并搜索 |
||||
|
|
||||
|
**用户输入**: |
||||
|
``` |
||||
|
"王者荣耀的视频现在什么内容最火?" |
||||
|
``` |
||||
|
|
||||
|
**Agent执行流程**: |
||||
|
1. ✅ AI理解意图:需要王者荣耀相关数据 |
||||
|
2. ✅ AI选择工具:`get_creative_guidance(category="游戏")` |
||||
|
3. ✅ 或选择工具:`search_douyin_videos(keyword="王者荣耀")` |
||||
|
4. ✅ 执行工具:获取数据 |
||||
|
5. ✅ AI选择工具:`analyze_video_data` |
||||
|
6. ✅ 执行工具:分析数据 |
||||
|
7. ✅ AI生成答案 |
||||
|
|
||||
|
## 🎨 自定义控制 |
||||
|
|
||||
|
### ✅ 通过提示词控制行为 |
||||
|
|
||||
|
编辑 `prompts/agent_prompt.md`: |
||||
|
|
||||
|
```markdown |
||||
|
## 工作流程 |
||||
|
|
||||
|
**场景A:用户提到明确的分类** |
||||
|
- 使用 `get_creative_guidance` 获取数据 |
||||
|
- 使用 `analyze_video_data` 分析 |
||||
|
- 总结并给出建议 |
||||
|
|
||||
|
**场景B:你的自定义场景** |
||||
|
- 你的自定义逻辑 |
||||
|
- ... |
||||
|
``` |
||||
|
|
||||
|
✅ 修改提示词 → Agent行为改变 |
||||
|
✅ 无需修改代码 |
||||
|
✅ 灵活控制执行流程 |
||||
|
|
||||
|
## 🔧 扩展功能 |
||||
|
|
||||
|
### ✅ 添加新工具 |
||||
|
|
||||
|
在 `ai_agent.py` 中: |
||||
|
|
||||
|
```python |
||||
|
# 1. 定义工具函数 |
||||
|
async def your_new_tool(param: str) -> Dict: |
||||
|
# 实现 |
||||
|
return {"success": True, "data": ...} |
||||
|
|
||||
|
# 2. 注册工具 |
||||
|
agent.register_tool( |
||||
|
name="your_new_tool", |
||||
|
func=your_new_tool, |
||||
|
description="工具描述", |
||||
|
parameters={...} |
||||
|
) |
||||
|
``` |
||||
|
|
||||
|
✅ 定义函数 → 注册工具 → 在提示词中添加使用场景 |
||||
|
|
||||
|
## 📊 测试验证 |
||||
|
|
||||
|
### ✅ 测试方式 |
||||
|
|
||||
|
1. **命令行测试**: |
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
2. **API测试**: |
||||
|
```bash |
||||
|
python api.py |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "帮我分析一下游戏类视频的热门趋势"}' |
||||
|
``` |
||||
|
|
||||
|
3. **Python代码测试**: |
||||
|
```python |
||||
|
from ai_agent import create_agent |
||||
|
import asyncio |
||||
|
|
||||
|
async def main(): |
||||
|
agent = create_agent() |
||||
|
result = await agent.run("你的查询") |
||||
|
print(result["final_answer"]) |
||||
|
|
||||
|
asyncio.run(main()) |
||||
|
``` |
||||
|
|
||||
|
## ✅ 核心优势 |
||||
|
|
||||
|
1. ✅ **自然语言交互** - 不需要学习API |
||||
|
2. ✅ **自主决策** - AI自动选择工具 |
||||
|
3. ✅ **提示词驱动** - 修改提示词控制行为 |
||||
|
4. ✅ **易于扩展** - 轻松添加新工具 |
||||
|
5. ✅ **完整文档** - 详细的使用文档 |
||||
|
|
||||
|
## 🎉 总结 |
||||
|
|
||||
|
你的需求已经**100%实现**! |
||||
|
|
||||
|
- ✅ 用户输入自然语言 |
||||
|
- ✅ AI自动理解和提取关键词 |
||||
|
- ✅ AI自主选择工具(如 `get_creative_guidance`) |
||||
|
- ✅ 自动获取数据 |
||||
|
- ✅ 自动分析数据 |
||||
|
- ✅ 生成总结和建议 |
||||
|
- ✅ **只需修改提示词文件就能控制整个流程** |
||||
|
|
||||
|
## 🚀 下一步 |
||||
|
|
||||
|
1. ✅ 阅读 [START_HERE.md](START_HERE.md) |
||||
|
2. ✅ 运行 `python test_agent.py` |
||||
|
3. ✅ 自定义 `prompts/agent_prompt.md` |
||||
|
4. ✅ 添加新工具(如果需要) |
||||
|
5. ✅ 集成到你的应用 |
||||
|
|
||||
|
开始使用吧!🎊 |
||||
@ -0,0 +1,216 @@ |
|||||
|
# 最终更新总结 - 2026年1月7日 |
||||
|
|
||||
|
## ✅ 所有完成的修改 |
||||
|
|
||||
|
### 1. AI智能分类功能 ✅ |
||||
|
- 将关键词匹配改为AI智能分类 |
||||
|
- 删除了后备函数 |
||||
|
- 修复了API Key加载问题 |
||||
|
- 测试通过 |
||||
|
|
||||
|
### 2. 创作灵感生成优化 ✅ |
||||
|
- 只分析前9条视频数据 |
||||
|
- 为每条视频生成对应的灵感 |
||||
|
- 每个灵感包含参考视频信息 |
||||
|
|
||||
|
### 3. JSON格式输出 ✅ |
||||
|
- 将输出格式从Markdown改为JSON |
||||
|
- 定义了标准的JSON结构 |
||||
|
- 便于前端解析和使用 |
||||
|
|
||||
|
## 📋 JSON格式定义 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"inspirations": [ |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "灵感标题", |
||||
|
"description": "核心创意描述和执行建议", |
||||
|
"reference_author": "参考视频作者", |
||||
|
"reference_description": "参考视频描述片段", |
||||
|
"url": "参考视频作者主页链接", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#标签1", "#标签2"], |
||||
|
"keywords": ["关键词1", "关键词2"] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 📂 修改的文件 |
||||
|
|
||||
|
### 核心文件 |
||||
|
1. ✅ `ai_agent.py` |
||||
|
- `extract_search_keywords()` - AI智能分类 |
||||
|
- `generate_creative_inspirations()` - JSON格式输出 |
||||
|
- 删除 `fallback_keyword_matching()` |
||||
|
|
||||
|
2. ✅ `prompts/agent_prompt.md` |
||||
|
- 更新工作流程 |
||||
|
- 更新输出格式为JSON |
||||
|
- 更新示例对话 |
||||
|
|
||||
|
### 测试文件 |
||||
|
3. ✅ `test_ai_classification.py` - AI分类测试 |
||||
|
4. ✅ `test_json_format.py` - JSON格式测试 |
||||
|
|
||||
|
### 文档文件 |
||||
|
5. ✅ `AI_CLASSIFICATION_UPDATE.md` - AI分类更新说明 |
||||
|
6. ✅ `CHANGES_SUMMARY.md` - 修改总结 |
||||
|
7. ✅ `INSPIRATION_UPDATE.md` - 灵感生成更新说明 |
||||
|
8. ✅ `JSON_FORMAT_UPDATE.md` - JSON格式更新说明 |
||||
|
9. ✅ `UPDATE_SUMMARY_20260107.md` - 更新总结 |
||||
|
10. ✅ `FINAL_UPDATE_SUMMARY.md` - 本文件 |
||||
|
|
||||
|
## 🎯 完整工作流程 |
||||
|
|
||||
|
``` |
||||
|
用户输入描述 |
||||
|
↓ |
||||
|
AI智能分类(从26个分类中选择) |
||||
|
↓ |
||||
|
获取该分类的热门视频数据 |
||||
|
↓ |
||||
|
只使用前9条视频 |
||||
|
↓ |
||||
|
为每条视频生成一个对应的灵感 |
||||
|
↓ |
||||
|
返回JSON格式的9个灵感 |
||||
|
``` |
||||
|
|
||||
|
## 📊 数据流 |
||||
|
|
||||
|
``` |
||||
|
视频1 → 灵感1 (JSON对象) |
||||
|
├─ id: 1 |
||||
|
├─ title: "标题" |
||||
|
├─ description: "描述" |
||||
|
├─ reference_author: "作者" |
||||
|
├─ reference_description: "视频描述" |
||||
|
├─ url: "作者主页链接" |
||||
|
├─ platform: "抖音" |
||||
|
├─ tags: ["#标签1", "#标签2"] |
||||
|
└─ keywords: ["关键词1", "关键词2"] |
||||
|
|
||||
|
视频2 → 灵感2 (JSON对象) |
||||
|
... |
||||
|
视频9 → 灵感9 (JSON对象) |
||||
|
``` |
||||
|
|
||||
|
## 🔧 使用方法 |
||||
|
|
||||
|
### 方法1:Python测试 |
||||
|
```bash |
||||
|
# 测试AI分类 |
||||
|
python test_ai_classification.py |
||||
|
|
||||
|
# 测试JSON格式 |
||||
|
python test_json_format.py |
||||
|
|
||||
|
# 完整测试 |
||||
|
python quick_test.py |
||||
|
``` |
||||
|
|
||||
|
### 方法2:API调用 |
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用接口 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "我想做一些校园相关的短视频", |
||||
|
"max_iterations": 15 |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 方法3:前端集成 |
||||
|
```javascript |
||||
|
const response = await fetch('/api/agent', { |
||||
|
method: 'POST', |
||||
|
headers: { 'Content-Type': 'application/json' }, |
||||
|
body: JSON.stringify({ |
||||
|
query: '我想做一些校园相关的短视频', |
||||
|
max_iterations: 15 |
||||
|
}) |
||||
|
}); |
||||
|
|
||||
|
const result = await response.json(); |
||||
|
|
||||
|
// 提取JSON |
||||
|
const jsonMatch = result.final_answer.match(/```json\s*([\s\S]*?)\s*```/); |
||||
|
if (jsonMatch) { |
||||
|
const data = JSON.parse(jsonMatch[1]); |
||||
|
const inspirations = data.inspirations; |
||||
|
|
||||
|
// 使用数据 |
||||
|
inspirations.forEach(item => { |
||||
|
console.log(item.id, item.title, item.url); |
||||
|
}); |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## ✨ 优势总结 |
||||
|
|
||||
|
### AI智能分类 |
||||
|
1. ✅ 更智能 - AI理解用户意图 |
||||
|
2. ✅ 更准确 - 不依赖关键词匹配 |
||||
|
3. ✅ 更简洁 - 删除了复杂的关键词表 |
||||
|
4. ✅ 更灵活 - 理解各种表达方式 |
||||
|
|
||||
|
### 创作灵感生成 |
||||
|
1. ✅ 更精准 - 每个灵感基于一个真实视频 |
||||
|
2. ✅ 更易执行 - 有明确的参考对象 |
||||
|
3. ✅ 更高质量 - 只使用最热门的9条视频 |
||||
|
4. ✅ 更好体验 - 用户知道灵感来源 |
||||
|
|
||||
|
### JSON格式输出 |
||||
|
1. ✅ 易于解析 - 标准JSON格式 |
||||
|
2. ✅ 结构化数据 - 字段明确,类型固定 |
||||
|
3. ✅ 易于扩展 - 可以轻松添加新字段 |
||||
|
4. ✅ 便于集成 - 可以直接传递给前端 |
||||
|
|
||||
|
## 📋 字段说明 |
||||
|
|
||||
|
| 字段 | 类型 | 说明 | 来源 | |
||||
|
|------|------|------|------| |
||||
|
| `id` | number | 灵感编号(1-9) | AI生成 | |
||||
|
| `title` | string | 灵感标题(15字以内) | AI生成 | |
||||
|
| `description` | string | 核心创意和执行建议(100字以内) | AI生成 | |
||||
|
| `reference_author` | string | 参考视频的作者名 | 视频数据的author | |
||||
|
| `reference_description` | string | 参考视频的描述片段(30字以内) | 视频数据的description | |
||||
|
| `url` | string | 参考视频作者的主页链接 | 视频数据的authorLink | |
||||
|
| `platform` | string | 平台名称,固定为"抖音" | 固定值 | |
||||
|
| `tags` | array | 推荐使用的标签数组 | 视频数据的hashTags | |
||||
|
| `keywords` | array | 热门关键词数组 | 视频数据的hotWords | |
||||
|
|
||||
|
## 🎉 完成状态 |
||||
|
|
||||
|
- ✅ AI智能分类功能正常 |
||||
|
- ✅ 创作灵感生成功能优化完成 |
||||
|
- ✅ JSON格式输出实现完成 |
||||
|
- ✅ 测试脚本创建完成 |
||||
|
- ✅ 文档更新完成 |
||||
|
- ✅ 代码无错误 |
||||
|
|
||||
|
## 📝 注意事项 |
||||
|
|
||||
|
1. **JSON提取**:返回的 `final_answer` 是文本格式,需要从中提取JSON部分 |
||||
|
2. **URL字段**:目前使用的是作者主页链接(authorLink),不是视频链接 |
||||
|
3. **平台字段**:目前固定为"抖音" |
||||
|
4. **数组字段**:tags和keywords都是数组类型,可能为空数组 |
||||
|
5. **迭代次数**:建议设置 `max_iterations=15`,确保有足够的迭代次数 |
||||
|
6. **API Key**:确保 `.env` 文件中配置了正确的 `DASHSCOPE_API_KEY` |
||||
|
|
||||
|
## 🚀 可以开始使用了! |
||||
|
|
||||
|
所有功能已完成并测试通过,系统可以正常使用: |
||||
|
|
||||
|
1. ✅ AI智能分类 - 从26个分类中自动选择 |
||||
|
2. ✅ 数据获取 - 获取热门视频数据 |
||||
|
3. ✅ 灵感生成 - 为每条视频生成对应灵感 |
||||
|
4. ✅ JSON输出 - 标准JSON格式,便于前端使用 |
||||
|
|
||||
|
开始创作吧!🎬 |
||||
@ -0,0 +1,306 @@ |
|||||
|
# 创作灵感生成功能使用指南 |
||||
|
|
||||
|
## 🎯 功能概述 |
||||
|
|
||||
|
这是一个基于AI的创作灵感生成系统,可以根据你的需求自动: |
||||
|
1. 理解你想创作的内容类型 |
||||
|
2. 获取相关的热门视频数据 |
||||
|
3. 生成9个具体可执行的创作灵感 |
||||
|
4. 如果不满意,可以获取更多灵感 |
||||
|
|
||||
|
## 📋 支持的内容分类(26个) |
||||
|
|
||||
|
- **生活类**: 美食、旅行、泛生活、随拍、亲子、三农 |
||||
|
- **娱乐类**: 娱乐、明星、剧情、二次元 |
||||
|
- **运动类**: 体育、户外 |
||||
|
- **知识类**: 文化教育、校园、政务 |
||||
|
- **技能类**: 汽车、科技、游戏、时尚、才艺、创意 |
||||
|
- **其他**: 动植物、图文控、公益 |
||||
|
|
||||
|
## 🚀 快速开始 |
||||
|
|
||||
|
### 方式1:API接口(推荐) |
||||
|
|
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用接口 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "我想做一些美食相关的短视频,主要是家常菜的制作教程", |
||||
|
"max_iterations": 15 |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 方式2:测试脚本 |
||||
|
|
||||
|
```bash |
||||
|
python test_inspiration.py |
||||
|
``` |
||||
|
|
||||
|
### 方式3:Python代码 |
||||
|
|
||||
|
```python |
||||
|
import asyncio |
||||
|
from ai_agent import create_agent |
||||
|
|
||||
|
async def main(): |
||||
|
agent = create_agent() |
||||
|
result = await agent.run( |
||||
|
user_input="我想做一些美食相关的短视频,主要是家常菜的制作教程", |
||||
|
system_prompt_file="prompts/agent_prompt.md", |
||||
|
max_iterations=15 |
||||
|
) |
||||
|
print(result["final_answer"]) |
||||
|
|
||||
|
asyncio.run(main()) |
||||
|
``` |
||||
|
|
||||
|
## 💡 使用示例 |
||||
|
|
||||
|
### 示例1:美食类内容 |
||||
|
|
||||
|
**输入**: |
||||
|
``` |
||||
|
我想做一些美食相关的短视频,主要是家常菜的制作教程 |
||||
|
``` |
||||
|
|
||||
|
**系统会**: |
||||
|
1. 识别分类:美食 |
||||
|
2. 获取美食类热门视频数据 |
||||
|
3. 生成9个创作灵感,例如: |
||||
|
- 灵感1:10分钟快手早餐 |
||||
|
- 灵感2:一人食晚餐系列 |
||||
|
- 灵感3:剩菜改造大法 |
||||
|
- ...(共9个) |
||||
|
|
||||
|
### 示例2:校园类内容 |
||||
|
|
||||
|
**输入**: |
||||
|
``` |
||||
|
我想拍一些关于大学生活的有趣视频,记录校园日常 |
||||
|
``` |
||||
|
|
||||
|
**系统会**: |
||||
|
1. 识别分类:校园 |
||||
|
2. 获取校园类热门视频数据 |
||||
|
3. 生成9个创作灵感,例如: |
||||
|
- 灵感1:宿舍神器测评 |
||||
|
- 灵感2:图书馆学习vlog |
||||
|
- 灵感3:食堂美食探店 |
||||
|
- ...(共9个) |
||||
|
|
||||
|
### 示例3:健身类内容 |
||||
|
|
||||
|
**输入**: |
||||
|
``` |
||||
|
我想做一些关于健身的短视频,分享简单的居家锻炼方法 |
||||
|
``` |
||||
|
|
||||
|
**系统会**: |
||||
|
1. 识别分类:体育 |
||||
|
2. 获取体育类热门视频数据 |
||||
|
3. 生成9个创作灵感,例如: |
||||
|
- 灵感1:5分钟晨起唤醒操 |
||||
|
- 灵感2:办公室久坐拉伸 |
||||
|
- 灵感3:睡前放松瑜伽 |
||||
|
- ...(共9个) |
||||
|
|
||||
|
### 示例4:不明确需求 |
||||
|
|
||||
|
**输入**: |
||||
|
``` |
||||
|
我想做短视频,但不知道拍什么 |
||||
|
``` |
||||
|
|
||||
|
**系统会**: |
||||
|
1. 使用默认分类:泛生活 |
||||
|
2. 获取泛生活类热门视频数据 |
||||
|
3. 生成9个多样化的创作灵感 |
||||
|
|
||||
|
## 📊 输出格式 |
||||
|
|
||||
|
系统会返回结构化的创作灵感: |
||||
|
|
||||
|
```markdown |
||||
|
📂 识别的内容分类:【美食】 |
||||
|
💡 识别依据:用户提到"美食"和"家常菜" |
||||
|
|
||||
|
📊 数据来源:创作指导 |
||||
|
📈 分析视频数量:50个 |
||||
|
|
||||
|
## 🎬 创作灵感 |
||||
|
|
||||
|
### 灵感 1:10分钟快手早餐 |
||||
|
**核心创意**:展示简单快速的早餐制作过程 |
||||
|
**执行建议**:固定机位俯拍,配快节奏音乐,展示3-4道快手早餐 |
||||
|
**推荐标签**:#快手早餐 #10分钟搞定 #上班族必备 |
||||
|
**热门关键词**:快手、早餐、简单 |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
### 灵感 2:一人食晚餐系列 |
||||
|
**核心创意**:针对独居人群的简单晚餐方案 |
||||
|
**执行建议**:温馨的厨房场景,展示食材准备到成品的过程 |
||||
|
**推荐标签**:#一人食 #独居生活 #治愈系美食 |
||||
|
**热门关键词**:一人食、独居、治愈 |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
(共9个灵感) |
||||
|
|
||||
|
💭 创作提示: |
||||
|
- 注意画面的美感和食物的色彩搭配 |
||||
|
- 配上轻松的背景音乐增加观看体验 |
||||
|
- 可以加入小贴士和烹饪技巧 |
||||
|
- 保持视频节奏紧凑,控制在1-3分钟 |
||||
|
``` |
||||
|
|
||||
|
## 🔄 获取更多灵感 |
||||
|
|
||||
|
如果对生成的灵感不满意,可以: |
||||
|
|
||||
|
**方式1:继续对话** |
||||
|
``` |
||||
|
这些灵感不太适合我,能给我一些其他的吗? |
||||
|
``` |
||||
|
|
||||
|
系统会: |
||||
|
1. 使用搜索功能获取更多数据 |
||||
|
2. 生成新的9个灵感 |
||||
|
|
||||
|
**方式2:调整需求** |
||||
|
``` |
||||
|
我想要更简单一些的,适合新手的 |
||||
|
``` |
||||
|
|
||||
|
系统会: |
||||
|
1. 理解新的要求 |
||||
|
2. 重新生成符合要求的灵感 |
||||
|
|
||||
|
## 🎨 工作原理 |
||||
|
|
||||
|
``` |
||||
|
用户输入描述 |
||||
|
↓ |
||||
|
AI理解需求 → 提取分类 |
||||
|
↓ |
||||
|
获取热门视频数据(创作指导) |
||||
|
↓ |
||||
|
AI分析数据 → 提取趋势 |
||||
|
↓ |
||||
|
生成9个创作灵感 |
||||
|
↓ |
||||
|
返回给用户 |
||||
|
↓ |
||||
|
(如果不满意) |
||||
|
↓ |
||||
|
搜索更多数据 → 生成新灵感 |
||||
|
``` |
||||
|
|
||||
|
## 🛠️ 自定义配置 |
||||
|
|
||||
|
### 修改提示词 |
||||
|
|
||||
|
编辑 `prompts/agent_prompt.md` 可以调整: |
||||
|
- 灵感生成的风格 |
||||
|
- 输出格式 |
||||
|
- 分析维度 |
||||
|
|
||||
|
### 调整灵感数量 |
||||
|
|
||||
|
在代码中修改 `count` 参数: |
||||
|
```python |
||||
|
generate_creative_inspirations(videos=..., user_query=..., count=12) # 生成12个 |
||||
|
``` |
||||
|
|
||||
|
### 添加新分类 |
||||
|
|
||||
|
在 `ai_agent.py` 的 `extract_search_keywords` 函数中添加: |
||||
|
```python |
||||
|
category_map = { |
||||
|
"你的新分类": ["关键词1", "关键词2", "关键词3"], |
||||
|
... |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 📝 最佳实践 |
||||
|
|
||||
|
### 1. 清晰描述需求 |
||||
|
|
||||
|
✅ 好的描述: |
||||
|
- "我想做一些美食相关的短视频,主要是家常菜的制作教程" |
||||
|
- "我想拍一些关于大学生活的有趣视频,记录校园日常" |
||||
|
|
||||
|
❌ 不好的描述: |
||||
|
- "给我一些建议" |
||||
|
- "我想做视频" |
||||
|
|
||||
|
### 2. 提供具体信息 |
||||
|
|
||||
|
包含以下信息会得到更好的结果: |
||||
|
- 内容类型(美食、旅行、健身等) |
||||
|
- 目标受众(上班族、学生、宝妈等) |
||||
|
- 内容风格(搞笑、治愈、干货等) |
||||
|
- 特殊要求(简单、快速、低成本等) |
||||
|
|
||||
|
### 3. 迭代优化 |
||||
|
|
||||
|
如果第一次生成的灵感不满意: |
||||
|
- 说明哪些方面不满意 |
||||
|
- 提供更多具体要求 |
||||
|
- 系统会生成新的灵感 |
||||
|
|
||||
|
## 🔍 故障排查 |
||||
|
|
||||
|
### 问题1:无法识别分类 |
||||
|
|
||||
|
**原因**:描述太模糊或不在支持的分类中 |
||||
|
|
||||
|
**解决**: |
||||
|
- 使用更明确的分类关键词 |
||||
|
- 或者系统会使用"泛生活"作为默认 |
||||
|
|
||||
|
### 问题2:生成的灵感不够具体 |
||||
|
|
||||
|
**原因**:数据不足或提示词需要优化 |
||||
|
|
||||
|
**解决**: |
||||
|
- 尝试获取更多灵感 |
||||
|
- 或修改 `prompts/agent_prompt.md` 提示词 |
||||
|
|
||||
|
### 问题3:API调用失败 |
||||
|
|
||||
|
**原因**:API Key未配置或网络问题 |
||||
|
|
||||
|
**解决**: |
||||
|
- 检查 `.env` 文件中的 `DASHSCOPE_API_KEY` |
||||
|
- 确保网络连接正常 |
||||
|
|
||||
|
## 📚 相关文档 |
||||
|
|
||||
|
- [README_AGENT.md](README_AGENT.md) - Agent完整文档 |
||||
|
- [PROMPTS_GUIDE.md](PROMPTS_GUIDE.md) - 提示词使用指南 |
||||
|
- [SUMMARY.md](SUMMARY.md) - 功能总结 |
||||
|
|
||||
|
## 🎉 开始使用 |
||||
|
|
||||
|
```bash |
||||
|
# 1. 确保API Key已配置 |
||||
|
cat .env |
||||
|
|
||||
|
# 2. 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 3. 测试功能 |
||||
|
python test_inspiration.py |
||||
|
|
||||
|
# 4. 调用API |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "你的需求描述", "max_iterations": 15}' |
||||
|
``` |
||||
|
|
||||
|
开始创作吧!🚀 |
||||
@ -0,0 +1,221 @@ |
|||||
|
# 创作灵感生成功能更新说明 |
||||
|
|
||||
|
## 更新时间 |
||||
|
2026-01-07 |
||||
|
|
||||
|
## 核心变化 |
||||
|
|
||||
|
### 之前的实现 |
||||
|
- 基于所有视频数据生成9个独立的创作灵感 |
||||
|
- 灵感是综合分析后的创意,没有明确的参考对象 |
||||
|
- 用户不知道每个灵感来自哪个视频 |
||||
|
|
||||
|
### 现在的实现 |
||||
|
- **只分析前9条视频数据** |
||||
|
- **为每条视频生成一个对应的创作灵感** |
||||
|
- **每个灵感都有明确的参考视频信息** |
||||
|
- 灵感1对应视频1,灵感2对应视频2,以此类推 |
||||
|
|
||||
|
## 优势 |
||||
|
|
||||
|
### 1. 更加精准 |
||||
|
- 每个灵感都基于一个真实的热门视频 |
||||
|
- 用户可以直接参考对应的视频进行创作 |
||||
|
- 减少了泛泛而谈的内容 |
||||
|
|
||||
|
### 2. 更易执行 |
||||
|
- 有明确的参考对象 |
||||
|
- 可以看到成功案例的具体做法 |
||||
|
- 降低了创作门槛 |
||||
|
|
||||
|
### 3. 更高质量 |
||||
|
- 只使用前9条最热门的视频 |
||||
|
- 数据质量更高,更有代表性 |
||||
|
- 避免了数据过多导致的分析不精准 |
||||
|
|
||||
|
### 4. 更好的用户体验 |
||||
|
- 用户可以看到每个灵感的来源 |
||||
|
- 可以根据自己的喜好选择参考视频 |
||||
|
- 更容易理解和接受 |
||||
|
|
||||
|
## 修改的文件 |
||||
|
|
||||
|
### 1. `prompts/agent_prompt.md` |
||||
|
**修改内容**: |
||||
|
- 明确说明只使用前9条视频数据 |
||||
|
- 强调每个灵感对应一条视频 |
||||
|
- 更新输出格式,增加"参考视频"字段 |
||||
|
- 更新示例对话,展示新的输出格式 |
||||
|
|
||||
|
**关键变化**: |
||||
|
```markdown |
||||
|
### 第3步:为每条视频生成对应的创作灵感 |
||||
|
|
||||
|
**关键变化**:不再生成9个独立的灵感,而是为获取到的前9条视频数据,每一条生成一个对应的创作灵感。 |
||||
|
|
||||
|
**灵感要求**: |
||||
|
- 必须为前9条视频数据的每一条生成一个对应的灵感 |
||||
|
- 每个灵感要基于对应视频的内容、标签、热词等信息 |
||||
|
- 每个灵感包含: |
||||
|
- 标题(基于对应视频的主题) |
||||
|
- 核心创意(从对应视频中提炼) |
||||
|
- 执行建议(参考对应视频的成功要素) |
||||
|
- 热门标签(使用对应视频的标签) |
||||
|
- 参考视频信息(作者、描述片段) |
||||
|
``` |
||||
|
|
||||
|
### 2. `ai_agent.py` |
||||
|
**修改内容**: |
||||
|
- 修改 `generate_creative_inspirations()` 函数 |
||||
|
- 只使用前9条视频数据(`videos[:count]`) |
||||
|
- 更新提示词,强调每个灵感对应一条视频 |
||||
|
- 增加"参考视频"字段到输出格式 |
||||
|
- 添加API Key设置 |
||||
|
|
||||
|
**关键代码**: |
||||
|
```python |
||||
|
# 只使用前9条视频数据 |
||||
|
videos_to_use = videos[:count] |
||||
|
actual_count = len(videos_to_use) |
||||
|
|
||||
|
# 构建专门用于生成灵感的提示词 |
||||
|
inspiration_prompt = f""" |
||||
|
... |
||||
|
**重要**:每个灵感必须对应一条视频数据,从该视频中提炼创意。 |
||||
|
... |
||||
|
每个灵感必须包含: |
||||
|
1. **标题**:吸引人的标题(15字以内) |
||||
|
2. **参考视频**:@作者名 - 视频描述片段(30字以内) |
||||
|
3. **核心创意**:从这个视频中提炼的创意点(30字以内) |
||||
|
4. **执行建议**:参考这个视频的成功要素,给出具体建议(50字以内) |
||||
|
5. **推荐标签**:使用该视频的标签 |
||||
|
6. **热门关键词**:使用该视频的热词 |
||||
|
... |
||||
|
""" |
||||
|
``` |
||||
|
|
||||
|
## 输出格式变化 |
||||
|
|
||||
|
### 之前的格式 |
||||
|
```markdown |
||||
|
### 灵感 1:【标题】 |
||||
|
**核心创意**:一句话说明创意点 |
||||
|
**执行建议**:具体的拍摄/制作建议 |
||||
|
**推荐标签**:#标签1 #标签2 #标签3 |
||||
|
**热门关键词**:关键词1、关键词2、关键词3 |
||||
|
``` |
||||
|
|
||||
|
### 现在的格式 |
||||
|
```markdown |
||||
|
### 灵感 1:【标题】 |
||||
|
**参考视频**:@作者名 - 视频描述片段... |
||||
|
**核心创意**:从这个视频中提炼的创意点 |
||||
|
**执行建议**:参考这个视频的成功要素,给出具体建议 |
||||
|
**推荐标签**:#标签1 #标签2 #标签3(来自视频的标签) |
||||
|
**热门关键词**:关键词1、关键词2、关键词3(来自视频的热词) |
||||
|
``` |
||||
|
|
||||
|
**关键区别**: |
||||
|
- 增加了"参考视频"字段,明确标注来源 |
||||
|
- 核心创意和执行建议都强调"从这个视频中" |
||||
|
- 标签和热词都标注"来自视频的" |
||||
|
|
||||
|
## 工作流程 |
||||
|
|
||||
|
### 完整流程 |
||||
|
``` |
||||
|
用户输入描述 |
||||
|
↓ |
||||
|
AI识别分类 |
||||
|
↓ |
||||
|
获取该分类的热门视频数据 |
||||
|
↓ |
||||
|
只使用前9条视频 |
||||
|
↓ |
||||
|
为每条视频生成一个对应的灵感 |
||||
|
↓ |
||||
|
返回9个灵感(每个对应一条视频) |
||||
|
``` |
||||
|
|
||||
|
### 数据流 |
||||
|
``` |
||||
|
视频1 → 灵感1(基于视频1的作者、描述、标签、热词) |
||||
|
视频2 → 灵感2(基于视频2的作者、描述、标签、热词) |
||||
|
视频3 → 灵感3(基于视频3的作者、描述、标签、热词) |
||||
|
... |
||||
|
视频9 → 灵感9(基于视频9的作者、描述、标签、热词) |
||||
|
``` |
||||
|
|
||||
|
## 示例对比 |
||||
|
|
||||
|
### 之前的输出 |
||||
|
```markdown |
||||
|
### 灵感 1:5分钟晨起唤醒操 |
||||
|
**核心创意**:设计一套简单的晨起拉伸动作,配合轻快音乐 |
||||
|
**执行建议**:固定机位拍摄,穿运动服,展示5-6个动作 |
||||
|
**推荐标签**:#健身 #晨起运动 #居家健身 |
||||
|
**热门关键词**:晨起、拉伸、唤醒 |
||||
|
``` |
||||
|
|
||||
|
### 现在的输出 |
||||
|
```markdown |
||||
|
### 灵感 1:5分钟晨起唤醒操 |
||||
|
**参考视频**:@健身教练小李 - 每天5分钟,唤醒身体活力!简单拉伸动作... |
||||
|
**核心创意**:设计一套简单的晨起拉伸动作,配合轻快音乐,帮助用户快速唤醒身体 |
||||
|
**执行建议**:固定机位拍摄,穿运动服,展示5-6个动作,每个动作配文字说明和倒计时 |
||||
|
**推荐标签**:#健身 #晨起运动 #居家健身 |
||||
|
**热门关键词**:晨起、拉伸、唤醒 |
||||
|
``` |
||||
|
|
||||
|
**区别**: |
||||
|
- 增加了参考视频信息,用户知道这个灵感来自@健身教练小李的视频 |
||||
|
- 执行建议更具体,参考了原视频的做法 |
||||
|
- 用户可以去找这个视频观看学习 |
||||
|
|
||||
|
## 测试方法 |
||||
|
|
||||
|
### 方法1:使用快速测试脚本 |
||||
|
```bash |
||||
|
python quick_test.py |
||||
|
``` |
||||
|
|
||||
|
### 方法2:使用API测试 |
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用接口 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d "{\"query\": \"我想做一些美食相关的短视频\", \"max_iterations\": 15}" |
||||
|
``` |
||||
|
|
||||
|
### 方法3:使用完整测试脚本 |
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
## 注意事项 |
||||
|
|
||||
|
1. **数据数量**:如果获取的视频少于9条,会为实际数量生成灵感 |
||||
|
2. **API Key**:确保 `.env` 文件中配置了正确的 `DASHSCOPE_API_KEY` |
||||
|
3. **迭代次数**:建议设置 `max_iterations=15`,确保有足够的迭代次数完成流程 |
||||
|
4. **数据质量**:前9条视频通常是最热门的,质量最高 |
||||
|
|
||||
|
## 相关文件 |
||||
|
|
||||
|
- ✅ `prompts/agent_prompt.md` - 更新了系统提示词 |
||||
|
- ✅ `ai_agent.py` - 修改了 `generate_creative_inspirations()` 函数 |
||||
|
- ✅ `INSPIRATION_UPDATE.md` - 本文件 |
||||
|
|
||||
|
## 下一步 |
||||
|
|
||||
|
系统已经完成更新,可以开始测试: |
||||
|
|
||||
|
1. 测试AI分类功能 |
||||
|
2. 测试创作指导数据获取 |
||||
|
3. 测试灵感生成功能 |
||||
|
4. 验证每个灵感是否对应一条视频 |
||||
|
5. 检查输出格式是否正确 |
||||
|
|
||||
|
所有修改已完成,系统可以正常使用! |
||||
@ -0,0 +1,263 @@ |
|||||
|
# JSON格式输出更新说明 |
||||
|
|
||||
|
## 更新时间 |
||||
|
2026-01-07 |
||||
|
|
||||
|
## 更新内容 |
||||
|
|
||||
|
将创作灵感的输出格式从Markdown改为JSON格式,方便前端解析和使用。 |
||||
|
|
||||
|
## JSON格式定义 |
||||
|
|
||||
|
### 完整格式 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"inspirations": [ |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "灵感标题", |
||||
|
"description": "核心创意描述和执行建议", |
||||
|
"reference_author": "参考视频作者", |
||||
|
"reference_description": "参考视频描述片段", |
||||
|
"url": "参考视频作者主页链接", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#标签1", "#标签2", "#标签3"], |
||||
|
"keywords": ["关键词1", "关键词2", "关键词3"] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### 字段说明 |
||||
|
|
||||
|
| 字段 | 类型 | 说明 | 示例 | |
||||
|
|------|------|------|------| |
||||
|
| `id` | number | 灵感编号 | 1 | |
||||
|
| `title` | string | 灵感标题(15字以内) | "5分钟晨起唤醒操" | |
||||
|
| `description` | string | 核心创意和执行建议的综合描述(100字以内) | "设计一套简单的晨起拉伸动作..." | |
||||
|
| `reference_author` | string | 参考视频的作者名 | "健身教练小李" | |
||||
|
| `reference_description` | string | 参考视频的描述片段(30字以内) | "每天5分钟,唤醒身体活力!..." | |
||||
|
| `url` | string | 参考视频作者的主页链接 | "https://www.iesdouyin.com/share/user/xxxxx" | |
||||
|
| `platform` | string | 平台名称,固定为"抖音" | "抖音" | |
||||
|
| `tags` | array | 推荐使用的标签数组 | ["#健身", "#晨起运动"] | |
||||
|
| `keywords` | array | 热门关键词数组 | ["晨起", "拉伸", "唤醒"] | |
||||
|
|
||||
|
## 数据来源 |
||||
|
|
||||
|
### 字段映射关系 |
||||
|
|
||||
|
JSON字段与视频数据的映射关系: |
||||
|
|
||||
|
| JSON字段 | 视频数据字段 | 说明 | |
||||
|
|----------|-------------|------| |
||||
|
| `reference_author` | `author` | 直接使用 | |
||||
|
| `reference_description` | `description` | 截取前30字 | |
||||
|
| `url` | `authorLink` | 直接使用 | |
||||
|
| `platform` | 固定值 | "抖音" | |
||||
|
| `tags` | `hashTags` | 直接使用 | |
||||
|
| `keywords` | `hotWords` | 直接使用 | |
||||
|
|
||||
|
### 示例数据 |
||||
|
|
||||
|
**视频数据**: |
||||
|
```json |
||||
|
{ |
||||
|
"author": "清华大学", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"hashTags": ["#清华大学", "#我会等", "#校园", "#上岸"], |
||||
|
"hotWords": ["世界", "我会", "等你", "上岸"] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
**生成的灵感**: |
||||
|
```json |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "名校励志短片", |
||||
|
"description": "以名校为背景,拍摄励志短片,展现学生的奋斗历程和对未来的期待。使用航拍和特写镜头,配合励志音乐,传递正能量。", |
||||
|
"reference_author": "清华大学", |
||||
|
"reference_description": "我会等! 等枯树生出芽,等你来清华!...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#清华大学", "#我会等", "#校园", "#上岸"], |
||||
|
"keywords": ["世界", "我会", "等你", "上岸"] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 使用方法 |
||||
|
|
||||
|
### 1. 通过API调用 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "我想做一些校园相关的短视频", |
||||
|
"max_iterations": 15 |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 2. 解析返回结果 |
||||
|
|
||||
|
```python |
||||
|
import json |
||||
|
import re |
||||
|
|
||||
|
# 从API返回的final_answer中提取JSON |
||||
|
json_match = re.search(r'```json\s*(.*?)\s*```', final_answer, re.DOTALL) |
||||
|
if json_match: |
||||
|
data = json.loads(json_match.group(1)) |
||||
|
inspirations = data['inspirations'] |
||||
|
|
||||
|
for inspiration in inspirations: |
||||
|
print(f"ID: {inspiration['id']}") |
||||
|
print(f"标题: {inspiration['title']}") |
||||
|
print(f"描述: {inspiration['description']}") |
||||
|
print(f"作者: {inspiration['reference_author']}") |
||||
|
print(f"链接: {inspiration['url']}") |
||||
|
print(f"标签: {', '.join(inspiration['tags'])}") |
||||
|
print(f"关键词: {', '.join(inspiration['keywords'])}") |
||||
|
print("-" * 80) |
||||
|
``` |
||||
|
|
||||
|
### 3. 前端使用示例 |
||||
|
|
||||
|
```javascript |
||||
|
// 解析API返回的数据 |
||||
|
const response = await fetch('/api/agent', { |
||||
|
method: 'POST', |
||||
|
headers: { 'Content-Type': 'application/json' }, |
||||
|
body: JSON.stringify({ |
||||
|
query: '我想做一些校园相关的短视频', |
||||
|
max_iterations: 15 |
||||
|
}) |
||||
|
}); |
||||
|
|
||||
|
const result = await response.json(); |
||||
|
|
||||
|
// 提取JSON格式的灵感数据 |
||||
|
const jsonMatch = result.final_answer.match(/```json\s*([\s\S]*?)\s*```/); |
||||
|
if (jsonMatch) { |
||||
|
const data = JSON.parse(jsonMatch[1]); |
||||
|
const inspirations = data.inspirations; |
||||
|
|
||||
|
// 渲染到页面 |
||||
|
inspirations.forEach(item => { |
||||
|
console.log(`${item.id}. ${item.title}`); |
||||
|
console.log(`描述: ${item.description}`); |
||||
|
console.log(`参考: @${item.reference_author}`); |
||||
|
console.log(`链接: ${item.url}`); |
||||
|
console.log(`标签: ${item.tags.join(', ')}`); |
||||
|
}); |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 优势 |
||||
|
|
||||
|
### 1. 易于解析 |
||||
|
- 标准JSON格式,所有编程语言都支持 |
||||
|
- 不需要复杂的文本解析 |
||||
|
- 减少解析错误 |
||||
|
|
||||
|
### 2. 结构化数据 |
||||
|
- 字段明确,类型固定 |
||||
|
- 便于数据库存储 |
||||
|
- 便于前端渲染 |
||||
|
|
||||
|
### 3. 易于扩展 |
||||
|
- 可以轻松添加新字段 |
||||
|
- 保持向后兼容 |
||||
|
- 便于版本管理 |
||||
|
|
||||
|
### 4. 便于集成 |
||||
|
- 可以直接传递给前端 |
||||
|
- 可以存储到数据库 |
||||
|
- 可以导出为其他格式 |
||||
|
|
||||
|
## 测试方法 |
||||
|
|
||||
|
### 方法1:使用测试脚本 |
||||
|
|
||||
|
```bash |
||||
|
python test_json_format.py |
||||
|
``` |
||||
|
|
||||
|
这个脚本会: |
||||
|
1. 调用Agent生成灵感 |
||||
|
2. 验证JSON格式 |
||||
|
3. 检查必需字段 |
||||
|
4. 显示示例输出 |
||||
|
|
||||
|
### 方法2:使用API测试 |
||||
|
|
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用接口 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "我想做一些美食相关的短视频", "max_iterations": 15}' |
||||
|
``` |
||||
|
|
||||
|
## 注意事项 |
||||
|
|
||||
|
1. **JSON提取**:返回的 `final_answer` 是文本格式,需要从中提取JSON部分 |
||||
|
2. **URL字段**:目前使用的是作者主页链接(authorLink),不是视频链接 |
||||
|
3. **平台字段**:目前固定为"抖音" |
||||
|
4. **数组字段**:tags和keywords都是数组类型,可能为空数组 |
||||
|
5. **字符限制**: |
||||
|
- title: 15字以内 |
||||
|
- description: 100字以内 |
||||
|
- reference_description: 30字以内 |
||||
|
|
||||
|
## 修改的文件 |
||||
|
|
||||
|
1. ✅ `prompts/agent_prompt.md` - 更新输出格式要求 |
||||
|
2. ✅ `ai_agent.py` - 修改 `generate_creative_inspirations()` 函数 |
||||
|
3. ✅ `test_json_format.py` - 新建JSON格式测试脚本 |
||||
|
4. ✅ `JSON_FORMAT_UPDATE.md` - 本文件 |
||||
|
|
||||
|
## 完整示例 |
||||
|
|
||||
|
### 输入 |
||||
|
```json |
||||
|
{ |
||||
|
"query": "我想做一些校园相关的短视频", |
||||
|
"max_iterations": 15 |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### 输出 |
||||
|
```json |
||||
|
{ |
||||
|
"inspirations": [ |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "名校励志短片", |
||||
|
"description": "以名校为背景,拍摄励志短片,展现学生的奋斗历程和对未来的期待。使用航拍和特写镜头,配合励志音乐,传递正能量。", |
||||
|
"reference_author": "清华大学", |
||||
|
"reference_description": "我会等! 等枯树生出芽,等你来清华!...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/100746744340", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#清华大学", "#我会等", "#校园", "#上岸"], |
||||
|
"keywords": ["世界", "我会", "等你", "上岸"] |
||||
|
}, |
||||
|
{ |
||||
|
"id": 2, |
||||
|
"title": "校园情感故事", |
||||
|
"description": "记录校园中的温暖瞬间,展现同学之间的友谊和互助。通过真实的场景和自然的表演,传递校园正能量。", |
||||
|
"reference_author": "Lily Peng", |
||||
|
"reference_description": "男生的哪一个瞬间 让你觉得他特别有教养...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/3355314087006819", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#校园", "#温暖瞬间"], |
||||
|
"keywords": ["特别", "一个", "瞬间", "男生"] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
所有修改已完成,可以开始使用JSON格式的输出了! |
||||
@ -0,0 +1,315 @@ |
|||||
|
# 项目总览 |
||||
|
|
||||
|
## 项目结构 |
||||
|
|
||||
|
``` |
||||
|
. |
||||
|
├── api.py # FastAPI主服务(搜索、创作指导、AI分析、Agent) |
||||
|
├── ai_analyzer.py # AI分析核心模块 |
||||
|
├── ai_agent.py # AI Agent智能代理模块 ⭐ |
||||
|
├── test_ai_analysis.py # AI功能测试脚本 |
||||
|
├── test_agent.py # Agent测试脚本 ⭐ |
||||
|
├── requirements.txt # Python依赖包 |
||||
|
├── .env.example # 环境变量示例 |
||||
|
├── .env # 环境变量配置(需自行创建) |
||||
|
├── .gitignore # Git忽略文件 |
||||
|
├── QUICKSTART.md # 快速开始指南 |
||||
|
├── README_AI.md # AI功能详细文档 |
||||
|
├── README_AGENT.md # Agent功能详细文档 ⭐ |
||||
|
├── PROJECT_OVERVIEW.md # 本文件 |
||||
|
│ |
||||
|
├── prompts/ # 提示词目录 |
||||
|
│ ├── analyze_prompt.md # 数据分析提示词 |
||||
|
│ └── agent_prompt.md # Agent系统提示词 ⭐ |
||||
|
│ |
||||
|
├── douyin_data_soupce/ # 数据源模块 |
||||
|
│ ├── douyin_search_crawler.py # 搜索爬虫 |
||||
|
│ ├── douyin_creative_guidance_playwright.py # 创作指导爬虫 |
||||
|
│ ├── douyin_cookie.json # Cookie配置 |
||||
|
│ └── douyin_data/ # 数据存储目录 |
||||
|
│ ├── douyin_creative_guidance_*.json |
||||
|
│ └── douyin_search_*.json |
||||
|
│ |
||||
|
└── douyin_data/ # 额外数据目录 |
||||
|
└── *.json |
||||
|
``` |
||||
|
|
||||
|
## 核心功能 |
||||
|
|
||||
|
### 1. 数据抓取 |
||||
|
- **搜索爬虫**: 根据关键词搜索抖音视频 |
||||
|
- **创作指导爬虫**: 抓取抖音创作指导页面的热门视频 |
||||
|
|
||||
|
### 2. API接口 |
||||
|
- `POST /api/search` - 搜索抖音视频 |
||||
|
- `POST /api/creative-guidance` - 获取创作指导数据 |
||||
|
- `POST /api/analyze` - AI分析视频数据 |
||||
|
- `POST /api/analyze-file` - AI分析JSON文件 |
||||
|
- `POST /api/agent` - **AI智能代理(推荐)** |
||||
|
|
||||
|
### 3. AI分析 |
||||
|
- 使用阿里云百炼大模型 |
||||
|
- 支持自定义提示词 |
||||
|
- 多维度数据分析(内容趋势、互动数据、创作者分析等) |
||||
|
|
||||
|
### 4. AI Agent(新功能)⭐ |
||||
|
- **自主决策**: 理解用户意图,自动选择工具 |
||||
|
- **函数调用**: 支持多轮工具调用 |
||||
|
- **提示词驱动**: 通过修改提示词控制行为 |
||||
|
- **工具扩展**: 轻松添加新工具 |
||||
|
|
||||
|
## 技术栈 |
||||
|
|
||||
|
- **Web框架**: FastAPI |
||||
|
- **爬虫**: Playwright |
||||
|
- **AI模型**: 阿里云百炼(DashScope) |
||||
|
- **数据格式**: JSON, CSV, TXT |
||||
|
- **环境管理**: python-dotenv |
||||
|
|
||||
|
## 使用流程 |
||||
|
|
||||
|
### 推荐流程(使用AI Agent)⭐ |
||||
|
|
||||
|
``` |
||||
|
1. 配置环境 |
||||
|
├── 安装依赖: pip install -r requirements.txt |
||||
|
├── 配置Cookie: douyin_data_soupce/douyin_cookie.json |
||||
|
└── 配置API Key: .env |
||||
|
|
||||
|
2. 使用AI Agent(一步到位) |
||||
|
├── 方式1: API接口 |
||||
|
│ └── POST /api/agent |
||||
|
│ └── {"query": "帮我分析一下游戏类视频的热门趋势"} |
||||
|
├── 方式2: 命令行 |
||||
|
│ └── python ai_agent.py --query "分析游戏类视频" |
||||
|
└── 方式3: 测试脚本 |
||||
|
└── python test_agent.py |
||||
|
|
||||
|
3. Agent自动完成 |
||||
|
├── 理解用户意图 |
||||
|
├── 选择工具获取数据 |
||||
|
├── 分析数据 |
||||
|
└── 给出总结和建议 |
||||
|
``` |
||||
|
|
||||
|
### 传统流程(手动控制) |
||||
|
|
||||
|
``` |
||||
|
1. 配置环境 |
||||
|
├── 安装依赖: pip install -r requirements.txt |
||||
|
├── 配置Cookie: douyin_data_soupce/douyin_cookie.json |
||||
|
└── 配置API Key: .env |
||||
|
|
||||
|
2. 抓取数据 |
||||
|
├── 方式1: API接口 |
||||
|
│ └── POST /api/creative-guidance |
||||
|
└── 方式2: 命令行 |
||||
|
└── python douyin_data_soupce/douyin_creative_guidance_playwright.py |
||||
|
|
||||
|
3. AI分析 |
||||
|
├── 方式1: API接口 |
||||
|
│ ├── POST /api/analyze (直接传数据) |
||||
|
│ └── POST /api/analyze-file (分析文件) |
||||
|
├── 方式2: 命令行 |
||||
|
│ └── python ai_analyzer.py --file xxx.json |
||||
|
└── 方式3: Python代码 |
||||
|
└── from ai_analyzer import AIAnalyzer |
||||
|
|
||||
|
4. 查看结果 |
||||
|
├── API返回JSON |
||||
|
├── 命令行输出 |
||||
|
└── 保存到文件 |
||||
|
``` |
||||
|
|
||||
|
## 配置说明 |
||||
|
|
||||
|
### 1. Cookie配置 (douyin_data_soupce/douyin_cookie.json) |
||||
|
|
||||
|
用于抖音登录认证,格式: |
||||
|
|
||||
|
```json |
||||
|
[ |
||||
|
{ |
||||
|
"name": "cookie_name", |
||||
|
"value": "cookie_value", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/" |
||||
|
} |
||||
|
] |
||||
|
``` |
||||
|
|
||||
|
### 2. 环境变量 (.env) |
||||
|
|
||||
|
```bash |
||||
|
# 阿里云百炼API Key |
||||
|
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx |
||||
|
|
||||
|
# 使用的模型(可选) |
||||
|
DASHSCOPE_MODEL=qwen-plus |
||||
|
``` |
||||
|
|
||||
|
### 3. 提示词 (prompts/analyze_prompt.md) |
||||
|
|
||||
|
自定义AI分析的提示词,控制分析的维度和输出格式。 |
||||
|
|
||||
|
## API使用示例 |
||||
|
|
||||
|
### 1. 抓取游戏类创作指导 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/creative-guidance" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"category": "游戏", |
||||
|
"headless": true |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 2. AI分析数据 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/analyze-file" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"json_file": "douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json", |
||||
|
"custom_instruction": "重点分析爆款视频特征" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
## 命令行使用示例 |
||||
|
|
||||
|
### 1. 抓取数据 |
||||
|
|
||||
|
```bash |
||||
|
# 抓取游戏分类 |
||||
|
python douyin_data_soupce/douyin_creative_guidance_playwright.py \ |
||||
|
--category 游戏 \ |
||||
|
--cookie douyin_data_soupce/douyin_cookie.json |
||||
|
|
||||
|
# 手动模式(需要手动登录) |
||||
|
python douyin_data_soupce/douyin_creative_guidance_playwright.py \ |
||||
|
--category 游戏 \ |
||||
|
--manual |
||||
|
``` |
||||
|
|
||||
|
### 2. AI分析 |
||||
|
|
||||
|
```bash |
||||
|
# 分析JSON文件 |
||||
|
python ai_analyzer.py \ |
||||
|
--file douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json |
||||
|
|
||||
|
# 使用自定义提示词 |
||||
|
python ai_analyzer.py \ |
||||
|
--file xxx.json \ |
||||
|
--prompt prompts/analyze_prompt.md \ |
||||
|
--instruction "重点分析互动率" |
||||
|
|
||||
|
# 保存结果 |
||||
|
python ai_analyzer.py \ |
||||
|
--file xxx.json \ |
||||
|
--output analysis_result.txt |
||||
|
``` |
||||
|
|
||||
|
## 数据格式 |
||||
|
|
||||
|
### 视频数据结构 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"page_url": "https://...", |
||||
|
"category": "游戏", |
||||
|
"crawl_time": "2026-01-07T11:25:45", |
||||
|
"total_videos": 50, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "作者名", |
||||
|
"description": "视频描述", |
||||
|
"authorLink": "作者链接", |
||||
|
"duration": "03:25", |
||||
|
"hot": "98.5万", |
||||
|
"plays": "150万", |
||||
|
"likes": "8.5万", |
||||
|
"comments": "3200", |
||||
|
"hotWords": ["热词1", "热词2"], |
||||
|
"hashTags": ["#标签1", "#标签2"] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### AI分析结果结构 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"success": true, |
||||
|
"analysis": "分析结果文本...", |
||||
|
"model": "qwen-plus", |
||||
|
"video_count": 50, |
||||
|
"usage": { |
||||
|
"input_tokens": 5000, |
||||
|
"output_tokens": 1500, |
||||
|
"total_tokens": 6500 |
||||
|
} |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 支持的分类 |
||||
|
|
||||
|
- 全部 |
||||
|
- 美食 |
||||
|
- 旅行 |
||||
|
- 泛生活 |
||||
|
- 汽车 |
||||
|
- 科技 |
||||
|
- 游戏 |
||||
|
- 二次元 |
||||
|
|
||||
|
## 支持的AI模型 |
||||
|
|
||||
|
- `qwen-turbo` - 快速响应 |
||||
|
- `qwen-plus` - 平衡性能(推荐) |
||||
|
- `qwen-max` - 最强性能 |
||||
|
- `qwen-long` - 超长文本 |
||||
|
|
||||
|
## 注意事项 |
||||
|
|
||||
|
1. **Cookie有效期**: Cookie会过期,需要定期更新 |
||||
|
2. **API限流**: 注意抖音和阿里云的API调用频率限制 |
||||
|
3. **Token消耗**: AI分析会消耗Token,注意成本控制 |
||||
|
4. **数据隐私**: 敏感数据请谨慎使用云端API |
||||
|
5. **浏览器依赖**: 首次使用需要安装Playwright浏览器 |
||||
|
|
||||
|
## 快速开始 |
||||
|
|
||||
|
```bash |
||||
|
# 1. 安装依赖 |
||||
|
pip install -r requirements.txt |
||||
|
|
||||
|
# 2. 安装Playwright浏览器 |
||||
|
playwright install chromium |
||||
|
|
||||
|
# 3. 配置环境 |
||||
|
cp .env.example .env |
||||
|
# 编辑 .env 填入API Key |
||||
|
|
||||
|
# 4. 测试AI功能 |
||||
|
python test_ai_analysis.py |
||||
|
|
||||
|
# 5. 启动API服务 |
||||
|
python api.py |
||||
|
``` |
||||
|
|
||||
|
## 文档索引 |
||||
|
|
||||
|
- [快速开始](QUICKSTART.md) - 5分钟上手指南 |
||||
|
- [AI功能详解](README_AI.md) - AI分析功能完整文档 |
||||
|
- [AI Agent详解](README_AGENT.md) - AI智能代理完整文档 ⭐ |
||||
|
- [API文档](http://localhost:8001/docs) - 启动服务后访问 |
||||
|
|
||||
|
## 获取帮助 |
||||
|
|
||||
|
- 查看命令行帮助: `python ai_analyzer.py --help` |
||||
|
- 查看API文档: 启动服务后访问 `/docs` |
||||
|
- 测试功能: `python test_ai_analysis.py` |
||||
@ -0,0 +1,199 @@ |
|||||
|
# 提示词使用指南 |
||||
|
|
||||
|
## 📝 两个提示词文件 |
||||
|
|
||||
|
项目中有两个提示词文件,各有不同的用途: |
||||
|
|
||||
|
### 1. `prompts/agent_prompt.md` - Agent系统提示词 ⭐ |
||||
|
|
||||
|
**用途**: 控制AI Agent的整体行为逻辑 |
||||
|
|
||||
|
**使用位置**: |
||||
|
- `ai_agent.py` 中的 `AIAgent.run()` 方法 |
||||
|
- Agent在执行任务时的"大脑" |
||||
|
|
||||
|
**控制内容**: |
||||
|
- Agent如何理解用户意图 |
||||
|
- Agent何时选择哪个工具 |
||||
|
- Agent的执行流程和决策逻辑 |
||||
|
- 不同场景下的工具选择策略 |
||||
|
|
||||
|
**示例**: |
||||
|
```markdown |
||||
|
## 工作流程 |
||||
|
|
||||
|
**场景A:用户提到明确的分类(如"游戏"、"美食"等)** |
||||
|
- 使用 `get_creative_guidance` 获取该分类的创作指导数据 |
||||
|
- 使用 `analyze_video_data` 分析数据 |
||||
|
- 总结关键发现和建议 |
||||
|
``` |
||||
|
|
||||
|
**修改这个文件可以**: |
||||
|
- 改变Agent选择工具的逻辑 |
||||
|
- 添加新的执行场景 |
||||
|
- 调整Agent的决策策略 |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
### 2. `prompts/analyze_prompt.md` - 数据分析提示词 |
||||
|
|
||||
|
**用途**: 控制AI如何分析视频数据 |
||||
|
|
||||
|
**使用位置**: |
||||
|
- `ai_analyzer.py` 中的 `AIAnalyzer.analyze()` 方法 |
||||
|
- `ai_agent.py` 中的 `analyze_video_data()` 工具函数(现在已集成) |
||||
|
- `/api/analyze` 和 `/api/analyze-file` 接口 |
||||
|
|
||||
|
**控制内容**: |
||||
|
- 如何分析视频数据 |
||||
|
- 输出什么样的分析结果 |
||||
|
- 分析的维度(内容趋势、互动数据、创作者分析等) |
||||
|
- 分析的深度和格式 |
||||
|
|
||||
|
**示例**: |
||||
|
```markdown |
||||
|
## 分析任务 |
||||
|
|
||||
|
请根据提供的抖音视频数据,进行以下分析: |
||||
|
|
||||
|
### 1. 内容趋势分析 |
||||
|
- 识别热门话题和标签 |
||||
|
- 分析内容类型分布 |
||||
|
- 总结创作方向 |
||||
|
``` |
||||
|
|
||||
|
**修改这个文件可以**: |
||||
|
- 改变分析的维度和重点 |
||||
|
- 调整输出格式 |
||||
|
- 添加新的分析角度 |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
## 🔄 两者的关系 |
||||
|
|
||||
|
``` |
||||
|
用户输入: "帮我分析一下游戏类视频的热门趋势" |
||||
|
↓ |
||||
|
agent_prompt.md 控制: |
||||
|
↓ |
||||
|
Agent理解意图 → 选择工具 → 调用 get_creative_guidance |
||||
|
↓ |
||||
|
获取游戏类视频数据 |
||||
|
↓ |
||||
|
Agent选择工具 → 调用 analyze_video_data |
||||
|
↓ |
||||
|
analyze_prompt.md 控制: |
||||
|
↓ |
||||
|
AI深度分析数据 → 生成专业报告 |
||||
|
↓ |
||||
|
返回给用户 |
||||
|
``` |
||||
|
|
||||
|
## 📊 使用场景对比 |
||||
|
|
||||
|
| 场景 | 使用的提示词 | 说明 | |
||||
|
|------|------------|------| |
||||
|
| Agent执行任务 | `agent_prompt.md` | 控制整体流程 | |
||||
|
| 分析视频数据 | `analyze_prompt.md` | 控制分析逻辑 | |
||||
|
| 直接调用分析API | `analyze_prompt.md` | 不经过Agent | |
||||
|
| Agent调用分析工具 | 两者都用 | Agent用第一个,分析用第二个 | |
||||
|
|
||||
|
## 🎯 实际例子 |
||||
|
|
||||
|
### 例子1:Agent完整流程 |
||||
|
|
||||
|
**用户**: "帮我分析一下游戏类视频的热门趋势" |
||||
|
|
||||
|
**执行过程**: |
||||
|
1. `agent_prompt.md` 控制Agent理解意图 |
||||
|
2. `agent_prompt.md` 控制Agent选择 `get_creative_guidance(category="游戏")` |
||||
|
3. 获取数据 |
||||
|
4. `agent_prompt.md` 控制Agent选择 `analyze_video_data(videos=...)` |
||||
|
5. `analyze_prompt.md` 控制如何分析这些数据 |
||||
|
6. 返回分析结果 |
||||
|
|
||||
|
### 例子2:直接调用分析API |
||||
|
|
||||
|
**请求**: `POST /api/analyze` |
||||
|
|
||||
|
**执行过程**: |
||||
|
1. 直接使用 `analyze_prompt.md` 分析数据 |
||||
|
2. 不经过Agent,不使用 `agent_prompt.md` |
||||
|
|
||||
|
## 🛠️ 如何修改 |
||||
|
|
||||
|
### 修改Agent行为 |
||||
|
|
||||
|
编辑 `prompts/agent_prompt.md`: |
||||
|
|
||||
|
```markdown |
||||
|
**场景X:你的自定义场景** |
||||
|
- 使用 `your_tool` 做XXX |
||||
|
- 然后使用 `analyze_video_data` 分析 |
||||
|
- 最后总结 |
||||
|
``` |
||||
|
|
||||
|
### 修改分析逻辑 |
||||
|
|
||||
|
编辑 `prompts/analyze_prompt.md`: |
||||
|
|
||||
|
```markdown |
||||
|
### 6. 你的自定义分析维度 |
||||
|
- 分析XXX |
||||
|
- 提取YYY |
||||
|
- 总结ZZZ |
||||
|
``` |
||||
|
|
||||
|
## 💡 最佳实践 |
||||
|
|
||||
|
1. **Agent行为调整**: 修改 `agent_prompt.md` |
||||
|
- 添加新的工具选择场景 |
||||
|
- 调整工具调用顺序 |
||||
|
- 定义新的执行策略 |
||||
|
|
||||
|
2. **分析结果优化**: 修改 `analyze_prompt.md` |
||||
|
- 调整分析维度 |
||||
|
- 改变输出格式 |
||||
|
- 添加特定领域的分析 |
||||
|
|
||||
|
3. **两者配合**: |
||||
|
- `agent_prompt.md` 控制"做什么" |
||||
|
- `analyze_prompt.md` 控制"怎么做" |
||||
|
|
||||
|
## 🔍 验证修改 |
||||
|
|
||||
|
### 测试Agent提示词修改 |
||||
|
|
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
### 测试分析提示词修改 |
||||
|
|
||||
|
```bash |
||||
|
python test_ai_analysis.py |
||||
|
``` |
||||
|
|
||||
|
或直接调用API: |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/analyze-file" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"json_file": "your_data.json", |
||||
|
"prompt_file": "prompts/analyze_prompt.md" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
## 📚 相关文档 |
||||
|
|
||||
|
- [README_AGENT.md](README_AGENT.md) - Agent完整文档 |
||||
|
- [README_AI.md](README_AI.md) - AI分析功能文档 |
||||
|
- [SUMMARY.md](SUMMARY.md) - 功能总结 |
||||
|
|
||||
|
## ✨ 总结 |
||||
|
|
||||
|
- **`agent_prompt.md`** = Agent的"大脑",控制整体决策 |
||||
|
- **`analyze_prompt.md`** = 分析的"专家",控制分析逻辑 |
||||
|
- 两者配合使用,实现完整的智能分析流程 |
||||
|
- 修改提示词即可改变系统行为,无需修改代码 |
||||
@ -0,0 +1,127 @@ |
|||||
|
# 快速开始指南 |
||||
|
|
||||
|
## 1. 安装依赖 |
||||
|
|
||||
|
```bash |
||||
|
pip install -r requirements.txt |
||||
|
``` |
||||
|
|
||||
|
## 2. 配置API Key |
||||
|
|
||||
|
### 方式一:使用 .env 文件(推荐) |
||||
|
|
||||
|
```bash |
||||
|
# 复制示例文件 |
||||
|
cp .env.example .env |
||||
|
|
||||
|
# 编辑 .env 文件 |
||||
|
# DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx |
||||
|
``` |
||||
|
|
||||
|
### 方式二:设置环境变量 |
||||
|
|
||||
|
**Windows (CMD):** |
||||
|
```cmd |
||||
|
set DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx |
||||
|
``` |
||||
|
|
||||
|
**Windows (PowerShell):** |
||||
|
```powershell |
||||
|
$env:DASHSCOPE_API_KEY="sk-xxxxxxxxxxxxxxxx" |
||||
|
``` |
||||
|
|
||||
|
**Linux/Mac:** |
||||
|
```bash |
||||
|
export DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx |
||||
|
``` |
||||
|
|
||||
|
## 3. 测试AI分析功能 |
||||
|
|
||||
|
```bash |
||||
|
python test_ai_analysis.py |
||||
|
``` |
||||
|
|
||||
|
## 4. 启动API服务 |
||||
|
|
||||
|
```bash |
||||
|
python api.py |
||||
|
``` |
||||
|
|
||||
|
访问 http://localhost:8001/docs 查看API文档 |
||||
|
|
||||
|
## 5. 使用示例 |
||||
|
|
||||
|
### 示例1:抓取游戏类创作指导数据 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/creative-guidance" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"category": "游戏"}' |
||||
|
``` |
||||
|
|
||||
|
### 示例2:分析抓取的数据 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/analyze-file" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"json_file": "douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json", |
||||
|
"custom_instruction": "重点分析爆款特征" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 示例3:直接分析视频数据 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/analyze" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"author": "游戏主播", |
||||
|
"description": "王者荣耀上分攻略 #王者荣耀", |
||||
|
"plays": "100万", |
||||
|
"likes": "5万" |
||||
|
} |
||||
|
] |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
## 6. 自定义提示词 |
||||
|
|
||||
|
编辑 `prompts/analyze_prompt.md` 文件来自定义分析逻辑: |
||||
|
|
||||
|
```markdown |
||||
|
# 你的自定义提示词 |
||||
|
|
||||
|
你是一个专业的数据分析师... |
||||
|
|
||||
|
## 分析重点 |
||||
|
1. ... |
||||
|
2. ... |
||||
|
``` |
||||
|
|
||||
|
## 常见问题 |
||||
|
|
||||
|
### Q: API Key在哪里获取? |
||||
|
A: 访问 https://dashscope.console.aliyun.com/ 注册并创建API Key |
||||
|
|
||||
|
### Q: 支持哪些模型? |
||||
|
A: qwen-turbo, qwen-plus(推荐), qwen-max, qwen-long |
||||
|
|
||||
|
### Q: 如何控制成本? |
||||
|
A: |
||||
|
- 使用 qwen-turbo 模型(更便宜) |
||||
|
- 减少分析的视频数量 |
||||
|
- 精简提示词内容 |
||||
|
|
||||
|
### Q: 分析结果保存在哪里? |
||||
|
A: |
||||
|
- API返回JSON格式结果 |
||||
|
- 命令行工具可使用 --output 参数保存到文件 |
||||
|
|
||||
|
## 下一步 |
||||
|
|
||||
|
- 查看 [README_AI.md](README_AI.md) 了解详细功能 |
||||
|
- 访问 http://localhost:8001/docs 查看完整API文档 |
||||
|
- 自定义 `prompts/analyze_prompt.md` 提示词 |
||||
@ -0,0 +1,399 @@ |
|||||
|
# AI Agent 智能代理系统 |
||||
|
|
||||
|
## 概述 |
||||
|
|
||||
|
AI Agent是一个智能代理系统,能够理解用户需求并**自主选择和调用工具**完成任务。你只需要用自然语言描述需求,Agent会自动: |
||||
|
|
||||
|
1. 理解你的意图 |
||||
|
2. 提取关键词或分类 |
||||
|
3. 选择合适的工具获取数据 |
||||
|
4. 分析数据 |
||||
|
5. 给出总结和建议 |
||||
|
|
||||
|
## 核心特性 |
||||
|
|
||||
|
### 🤖 自主决策 |
||||
|
Agent会根据用户查询自动选择最合适的工具组合,无需手动指定。 |
||||
|
|
||||
|
### 🔧 工具集成 |
||||
|
内置4个工具函数: |
||||
|
- `extract_search_keywords` - 提取搜索关键词 |
||||
|
- `get_creative_guidance` - 获取创作指导数据 |
||||
|
- `search_douyin_videos` - 搜索抖音视频 |
||||
|
- `analyze_video_data` - 分析视频数据 |
||||
|
|
||||
|
### 📝 提示词驱动 |
||||
|
通过修改 `prompts/agent_prompt.md` 就能控制Agent的行为逻辑。 |
||||
|
|
||||
|
### 🔄 迭代执行 |
||||
|
Agent会多次调用工具,直到完成任务或达到最大迭代次数。 |
||||
|
|
||||
|
## 快速开始 |
||||
|
|
||||
|
### 方式一:API接口(推荐) |
||||
|
|
||||
|
启动服务: |
||||
|
```bash |
||||
|
python api.py |
||||
|
``` |
||||
|
|
||||
|
调用Agent接口: |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "帮我分析一下游戏类视频的热门趋势" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 方式二:命令行 |
||||
|
|
||||
|
```bash |
||||
|
python ai_agent.py --query "帮我分析一下游戏类视频的热门趋势" |
||||
|
``` |
||||
|
|
||||
|
## 使用示例 |
||||
|
|
||||
|
### 示例1:分析分类趋势 |
||||
|
|
||||
|
**用户查询**: |
||||
|
``` |
||||
|
帮我分析一下游戏类视频的热门趋势 |
||||
|
``` |
||||
|
|
||||
|
**Agent执行流程**: |
||||
|
1. 识别用户想要"游戏"分类的数据 |
||||
|
2. 调用 `get_creative_guidance(category="游戏")` |
||||
|
3. 调用 `analyze_video_data(videos=..., focus="热门趋势")` |
||||
|
4. 总结热门标签、热词、内容特征 |
||||
|
5. 给出创作建议 |
||||
|
|
||||
|
**API调用**: |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "帮我分析一下游戏类视频的热门趋势" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 示例2:获取创作建议 |
||||
|
|
||||
|
**用户查询**: |
||||
|
``` |
||||
|
我想做美食相关的内容,给我一些建议 |
||||
|
``` |
||||
|
|
||||
|
**Agent执行流程**: |
||||
|
1. 识别用户需要"美食"分类的创作建议 |
||||
|
2. 调用 `get_creative_guidance(category="美食")` |
||||
|
3. 调用 `analyze_video_data(videos=..., focus="创作建议")` |
||||
|
4. 分析高互动内容的特征 |
||||
|
5. 给出具体的创作建议 |
||||
|
|
||||
|
**API调用**: |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "我想做美食相关的内容,给我一些建议" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 示例3:分析特定关键词 |
||||
|
|
||||
|
**用户查询**: |
||||
|
``` |
||||
|
王者荣耀的视频现在什么内容最火? |
||||
|
``` |
||||
|
|
||||
|
**Agent执行流程**: |
||||
|
1. 识别关键词"王者荣耀" |
||||
|
2. 先调用 `get_creative_guidance(category="游戏")` 获取游戏类数据 |
||||
|
3. 如果需要更具体的数据,调用 `search_douyin_videos(keyword="王者荣耀")` |
||||
|
4. 调用 `analyze_video_data` 分析数据 |
||||
|
5. 总结最火的内容类型 |
||||
|
|
||||
|
**API调用**: |
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "王者荣耀的视频现在什么内容最火?" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 示例4:多分类对比 |
||||
|
|
||||
|
**用户查询**: |
||||
|
``` |
||||
|
对比一下游戏和美食两个分类的热门趋势 |
||||
|
``` |
||||
|
|
||||
|
**Agent执行流程**: |
||||
|
1. 识别需要对比"游戏"和"美食"两个分类 |
||||
|
2. 调用 `get_creative_guidance(category="游戏")` |
||||
|
3. 调用 `get_creative_guidance(category="美食")` |
||||
|
4. 分别调用 `analyze_video_data` 分析两个分类 |
||||
|
5. 对比分析结果,给出差异和建议 |
||||
|
|
||||
|
## API响应格式 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"success": true, |
||||
|
"final_answer": "## 📊 数据概览\n...\n## 🔥 关键发现\n...", |
||||
|
"iteration": 3, |
||||
|
"tool_calls": [ |
||||
|
{ |
||||
|
"iteration": 1, |
||||
|
"tool_name": "get_creative_guidance", |
||||
|
"arguments": {"category": "游戏"}, |
||||
|
"result": {...} |
||||
|
}, |
||||
|
{ |
||||
|
"iteration": 2, |
||||
|
"tool_name": "analyze_video_data", |
||||
|
"arguments": {"videos": [...], "focus": "热门趋势"}, |
||||
|
"result": {...} |
||||
|
} |
||||
|
], |
||||
|
"error": null |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 自定义Agent行为 |
||||
|
|
||||
|
### 修改提示词 |
||||
|
|
||||
|
编辑 `prompts/agent_prompt.md` 来控制Agent的行为: |
||||
|
|
||||
|
```markdown |
||||
|
# AI Agent 系统提示词 |
||||
|
|
||||
|
你是一个智能的抖音数据分析助手... |
||||
|
|
||||
|
## 工作流程 |
||||
|
|
||||
|
当用户提出需求时,你应该: |
||||
|
|
||||
|
### 1. 理解用户意图 |
||||
|
... |
||||
|
|
||||
|
### 2. 制定执行计划 |
||||
|
... |
||||
|
|
||||
|
### 3. 执行工具调用 |
||||
|
... |
||||
|
``` |
||||
|
|
||||
|
### 添加新工具 |
||||
|
|
||||
|
在 `ai_agent.py` 中添加新工具: |
||||
|
|
||||
|
```python |
||||
|
# 1. 定义工具函数 |
||||
|
async def your_new_tool(param1: str, param2: int) -> Dict: |
||||
|
"""工具描述""" |
||||
|
# 实现逻辑 |
||||
|
return {"success": True, "data": ...} |
||||
|
|
||||
|
# 2. 在 create_agent() 中注册工具 |
||||
|
def create_agent() -> AIAgent: |
||||
|
agent = AIAgent(model="qwen-plus") |
||||
|
|
||||
|
agent.register_tool( |
||||
|
name="your_new_tool", |
||||
|
func=your_new_tool, |
||||
|
description="工具的详细描述,AI会根据这个描述决定何时使用", |
||||
|
parameters={ |
||||
|
"type": "object", |
||||
|
"properties": { |
||||
|
"param1": { |
||||
|
"type": "string", |
||||
|
"description": "参数1的描述" |
||||
|
}, |
||||
|
"param2": { |
||||
|
"type": "integer", |
||||
|
"description": "参数2的描述" |
||||
|
} |
||||
|
}, |
||||
|
"required": ["param1", "param2"] |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
return agent |
||||
|
``` |
||||
|
|
||||
|
### 修改工具选择逻辑 |
||||
|
|
||||
|
在 `prompts/agent_prompt.md` 中添加新的场景: |
||||
|
|
||||
|
```markdown |
||||
|
## 工作流程 |
||||
|
|
||||
|
### 2. 制定执行计划 |
||||
|
|
||||
|
**场景D:用户需要XXX** |
||||
|
- 使用 `your_new_tool` 做XXX |
||||
|
- 使用 `analyze_video_data` 分析结果 |
||||
|
- 总结发现 |
||||
|
``` |
||||
|
|
||||
|
## 高级用法 |
||||
|
|
||||
|
### 1. 控制迭代次数 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "分析游戏类视频", |
||||
|
"max_iterations": 5 |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 2. 使用不同模型 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "分析游戏类视频", |
||||
|
"model": "qwen-max" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 3. 自定义提示词文件 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "分析游戏类视频", |
||||
|
"system_prompt_file": "prompts/custom_agent_prompt.md" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
## Python代码集成 |
||||
|
|
||||
|
```python |
||||
|
import asyncio |
||||
|
from ai_agent import create_agent |
||||
|
|
||||
|
async def main(): |
||||
|
# 创建Agent |
||||
|
agent = create_agent() |
||||
|
|
||||
|
# 运行Agent |
||||
|
result = await agent.run( |
||||
|
user_input="帮我分析一下游戏类视频的热门趋势", |
||||
|
system_prompt_file="prompts/agent_prompt.md", |
||||
|
max_iterations=10 |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print(result["final_answer"]) |
||||
|
print(f"\n工具调用次数: {len(result['tool_calls'])}") |
||||
|
else: |
||||
|
print(f"执行失败: {result['error']}") |
||||
|
|
||||
|
asyncio.run(main()) |
||||
|
``` |
||||
|
|
||||
|
## 工作原理 |
||||
|
|
||||
|
### Function Calling流程 |
||||
|
|
||||
|
``` |
||||
|
用户输入 |
||||
|
↓ |
||||
|
AI理解意图 |
||||
|
↓ |
||||
|
选择工具并生成参数 |
||||
|
↓ |
||||
|
执行工具函数 |
||||
|
↓ |
||||
|
将结果返回给AI |
||||
|
↓ |
||||
|
AI决定:继续调用工具 or 给出最终答案 |
||||
|
↓ |
||||
|
返回结果给用户 |
||||
|
``` |
||||
|
|
||||
|
### 示例执行日志 |
||||
|
|
||||
|
``` |
||||
|
用户查询: 帮我分析一下游戏类视频的热门趋势 |
||||
|
|
||||
|
[迭代 1] 调用工具: get_creative_guidance |
||||
|
参数: {"category": "游戏"} |
||||
|
结果: {"success": true, "total_count": 50, "videos": [...]} |
||||
|
|
||||
|
[迭代 2] 调用工具: analyze_video_data |
||||
|
参数: {"videos": [...], "focus": "热门趋势"} |
||||
|
结果: {"success": true, "summary": {...}, "high_engagement_videos": [...]} |
||||
|
|
||||
|
[迭代 3] 生成最终答案 |
||||
|
总迭代次数: 3 |
||||
|
工具调用次数: 2 |
||||
|
``` |
||||
|
|
||||
|
## 支持的分类 |
||||
|
|
||||
|
- 全部 |
||||
|
- 美食 |
||||
|
- 旅行 |
||||
|
- 泛生活 |
||||
|
- 汽车 |
||||
|
- 科技 |
||||
|
- 游戏 |
||||
|
- 二次元 |
||||
|
|
||||
|
## 常见问题 |
||||
|
|
||||
|
### Q: Agent会调用哪些工具? |
||||
|
A: Agent会根据用户查询自动选择。你可以在 `prompts/agent_prompt.md` 中定义选择逻辑。 |
||||
|
|
||||
|
### Q: 如何控制Agent的行为? |
||||
|
A: 修改 `prompts/agent_prompt.md` 文件,定义不同场景下的工具选择策略。 |
||||
|
|
||||
|
### Q: 可以添加自己的工具吗? |
||||
|
A: 可以!在 `ai_agent.py` 中定义工具函数并注册即可。 |
||||
|
|
||||
|
### Q: Agent会无限循环吗? |
||||
|
A: 不会,有 `max_iterations` 参数限制最大迭代次数(默认10次)。 |
||||
|
|
||||
|
### Q: 如何调试Agent? |
||||
|
A: 查看返回结果中的 `tool_calls` 字段,可以看到每次工具调用的详细信息。 |
||||
|
|
||||
|
## 与普通分析接口的区别 |
||||
|
|
||||
|
| 特性 | 普通分析接口 | Agent接口 | |
||||
|
|------|------------|----------| |
||||
|
| 数据获取 | 需要手动先获取数据 | 自动获取数据 | |
||||
|
| 工具选择 | 需要手动调用不同接口 | 自动选择工具 | |
||||
|
| 分析深度 | 单次分析 | 多轮迭代分析 | |
||||
|
| 使用难度 | 需要了解API | 自然语言即可 | |
||||
|
| 灵活性 | 固定流程 | 动态调整 | |
||||
|
|
||||
|
## 最佳实践 |
||||
|
|
||||
|
1. **清晰的查询**:查询越具体,Agent执行越准确 |
||||
|
- ✅ "分析游戏类视频的热门趋势" |
||||
|
- ❌ "帮我看看" |
||||
|
|
||||
|
2. **合理的期望**:Agent适合数据分析任务,不适合创作内容 |
||||
|
- ✅ "分析什么内容最火" |
||||
|
- ❌ "帮我写一个视频脚本" |
||||
|
|
||||
|
3. **提示词优化**:根据实际使用情况优化 `agent_prompt.md` |
||||
|
|
||||
|
4. **工具扩展**:根据需求添加新工具,让Agent更强大 |
||||
|
|
||||
|
## 下一步 |
||||
|
|
||||
|
- 查看 [PROJECT_OVERVIEW.md](PROJECT_OVERVIEW.md) 了解整体架构 |
||||
|
- 修改 [prompts/agent_prompt.md](prompts/agent_prompt.md) 自定义行为 |
||||
|
- 在 [ai_agent.py](ai_agent.py) 中添加新工具 |
||||
|
- 访问 http://localhost:8001/docs 查看API文档 |
||||
@ -0,0 +1,254 @@ |
|||||
|
# 抖音数据AI分析功能 |
||||
|
|
||||
|
## 功能概述 |
||||
|
|
||||
|
本项目集成了阿里云百炼大模型,可以智能分析抖音视频数据,提供内容趋势、互动数据、创作者分析等多维度洞察。 |
||||
|
|
||||
|
## 快速开始 |
||||
|
|
||||
|
### 1. 安装依赖 |
||||
|
|
||||
|
```bash |
||||
|
pip install -r requirements.txt |
||||
|
``` |
||||
|
|
||||
|
### 2. 配置API Key |
||||
|
|
||||
|
创建 `.env` 文件(参考 `.env.example`): |
||||
|
|
||||
|
```bash |
||||
|
# 复制示例文件 |
||||
|
cp .env.example .env |
||||
|
|
||||
|
# 编辑 .env 文件,填入你的API Key |
||||
|
DASHSCOPE_API_KEY=your_actual_api_key_here |
||||
|
DASHSCOPE_MODEL=qwen-plus |
||||
|
``` |
||||
|
|
||||
|
或者在调用API时直接传入 `api_key` 参数。 |
||||
|
|
||||
|
### 3. 获取阿里云百炼API Key |
||||
|
|
||||
|
1. 访问 [阿里云百炼控制台](https://dashscope.console.aliyun.com/) |
||||
|
2. 登录/注册账号 |
||||
|
3. 在"API-KEY管理"中创建新的API Key |
||||
|
4. 复制API Key到 `.env` 文件 |
||||
|
|
||||
|
## 使用方式 |
||||
|
|
||||
|
### 方式一:命令行工具 |
||||
|
|
||||
|
分析已有的JSON数据文件: |
||||
|
|
||||
|
```bash |
||||
|
python ai_analyzer.py --file douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json |
||||
|
``` |
||||
|
|
||||
|
使用自定义提示词: |
||||
|
|
||||
|
```bash |
||||
|
python ai_analyzer.py \ |
||||
|
--file douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json \ |
||||
|
--prompt prompts/analyze_prompt.md \ |
||||
|
--instruction "重点分析游戏类视频的爆款特征" |
||||
|
``` |
||||
|
|
||||
|
保存分析结果: |
||||
|
|
||||
|
```bash |
||||
|
python ai_analyzer.py \ |
||||
|
--file douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json \ |
||||
|
--output analysis_result.txt |
||||
|
``` |
||||
|
|
||||
|
### 方式二:API接口 |
||||
|
|
||||
|
启动API服务: |
||||
|
|
||||
|
```bash |
||||
|
python api.py |
||||
|
``` |
||||
|
|
||||
|
#### 接口1:分析视频数据(POST /api/analyze) |
||||
|
|
||||
|
直接传入视频数据进行分析: |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/analyze" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"author": "游戏主播A", |
||||
|
"description": "王者荣耀新赛季上分技巧 #王者荣耀 #游戏攻略", |
||||
|
"plays": "100万", |
||||
|
"likes": "5万", |
||||
|
"comments": "3000", |
||||
|
"hashTags": ["#王者荣耀", "#游戏攻略"], |
||||
|
"hotWords": ["上分", "新赛季"] |
||||
|
} |
||||
|
], |
||||
|
"custom_instruction": "重点分析互动率" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
#### 接口2:分析JSON文件(POST /api/analyze-file) |
||||
|
|
||||
|
从已保存的JSON文件读取数据并分析: |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/analyze-file" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"json_file": "douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json", |
||||
|
"prompt_file": "prompts/analyze_prompt.md", |
||||
|
"custom_instruction": "重点关注游戏类内容的创作趋势" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 方式三:Python代码集成 |
||||
|
|
||||
|
```python |
||||
|
from ai_analyzer import AIAnalyzer |
||||
|
|
||||
|
# 创建分析器 |
||||
|
analyzer = AIAnalyzer(api_key="your_api_key", model="qwen-plus") |
||||
|
|
||||
|
# 方式1:分析视频列表 |
||||
|
videos = [ |
||||
|
{ |
||||
|
"author": "游戏主播A", |
||||
|
"description": "王者荣耀新赛季上分技巧", |
||||
|
"plays": "100万", |
||||
|
"likes": "5万" |
||||
|
} |
||||
|
] |
||||
|
|
||||
|
result = analyzer.analyze( |
||||
|
videos=videos, |
||||
|
prompt_file="prompts/analyze_prompt.md", |
||||
|
custom_instruction="重点分析互动率" |
||||
|
) |
||||
|
|
||||
|
print(result["analysis"]) |
||||
|
|
||||
|
# 方式2:分析JSON文件 |
||||
|
result = analyzer.analyze_from_file( |
||||
|
json_file="douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json", |
||||
|
prompt_file="prompts/analyze_prompt.md" |
||||
|
) |
||||
|
|
||||
|
print(result["analysis"]) |
||||
|
``` |
||||
|
|
||||
|
## 提示词自定义 |
||||
|
|
||||
|
提示词文件位于 `prompts/analyze_prompt.md`,你可以根据需求修改: |
||||
|
|
||||
|
```markdown |
||||
|
# 抖音数据分析提示词 |
||||
|
|
||||
|
你是一个专业的抖音数据分析师... |
||||
|
|
||||
|
## 分析任务 |
||||
|
1. 内容趋势分析 |
||||
|
2. 互动数据分析 |
||||
|
3. 创作者分析 |
||||
|
... |
||||
|
``` |
||||
|
|
||||
|
你也可以创建多个提示词文件用于不同的分析场景: |
||||
|
|
||||
|
- `prompts/analyze_prompt.md` - 通用分析 |
||||
|
- `prompts/game_analysis.md` - 游戏类内容专项分析 |
||||
|
- `prompts/trend_analysis.md` - 趋势预测分析 |
||||
|
- `prompts/creator_analysis.md` - 创作者画像分析 |
||||
|
|
||||
|
## API响应示例 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"success": true, |
||||
|
"analysis": "## 数据概览\n本次分析了50个游戏类视频...\n\n## 详细分析\n### 1. 内容趋势\n...", |
||||
|
"model": "qwen-plus", |
||||
|
"video_count": 50, |
||||
|
"usage": { |
||||
|
"input_tokens": 5000, |
||||
|
"output_tokens": 1500, |
||||
|
"total_tokens": 6500 |
||||
|
} |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 完整工作流示例 |
||||
|
|
||||
|
### 1. 抓取创作指导数据 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/creative-guidance" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"category": "游戏"}' |
||||
|
``` |
||||
|
|
||||
|
### 2. 分析抓取的数据 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/analyze-file" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"json_file": "douyin_data_soupce/douyin_data/douyin_creative_guidance_游戏_20260107_112545.json", |
||||
|
"custom_instruction": "重点分析爆款视频特征,给出具体的创作建议" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
## 支持的模型 |
||||
|
|
||||
|
- `qwen-turbo` - 快速响应,适合简单分析 |
||||
|
- `qwen-plus` - 平衡性能,推荐使用(默认) |
||||
|
- `qwen-max` - 最强性能,适合复杂分析 |
||||
|
- `qwen-long` - 超长文本,适合大量数据 |
||||
|
|
||||
|
## 注意事项 |
||||
|
|
||||
|
1. **API Key安全**:不要将API Key提交到代码仓库,使用环境变量或 `.env` 文件 |
||||
|
2. **Token消耗**:大量数据分析会消耗较多Token,注意控制成本 |
||||
|
3. **数据隐私**:敏感数据请谨慎使用云端API |
||||
|
4. **请求频率**:注意API调用频率限制 |
||||
|
|
||||
|
## 故障排查 |
||||
|
|
||||
|
### 问题1:API Key错误 |
||||
|
|
||||
|
``` |
||||
|
ValueError: 未提供API Key |
||||
|
``` |
||||
|
|
||||
|
**解决方案**: |
||||
|
- 检查 `.env` 文件是否存在且配置正确 |
||||
|
- 或在API请求中传入 `api_key` 参数 |
||||
|
|
||||
|
### 问题2:提示词文件不存在 |
||||
|
|
||||
|
``` |
||||
|
提示词文件不存在: prompts/analyze_prompt.md |
||||
|
``` |
||||
|
|
||||
|
**解决方案**: |
||||
|
- 确保 `prompts` 目录存在 |
||||
|
- 检查文件路径是否正确 |
||||
|
|
||||
|
### 问题3:JSON文件格式错误 |
||||
|
|
||||
|
``` |
||||
|
JSON文件中没有视频数据 |
||||
|
``` |
||||
|
|
||||
|
**解决方案**: |
||||
|
- 确保JSON文件包含 `videos` 字段 |
||||
|
- 检查数据格式是否正确 |
||||
|
|
||||
|
## 更多资源 |
||||
|
|
||||
|
- [阿里云百炼文档](https://help.aliyun.com/zh/dashscope/) |
||||
|
- [API参考](https://help.aliyun.com/zh/dashscope/developer-reference/api-details) |
||||
|
- [模型介绍](https://help.aliyun.com/zh/dashscope/developer-reference/model-introduction) |
||||
@ -0,0 +1,204 @@ |
|||||
|
# 🚀 从这里开始 |
||||
|
|
||||
|
## 你现在拥有什么? |
||||
|
|
||||
|
一个**AI Agent智能代理系统**,可以: |
||||
|
|
||||
|
1. 用自然语言描述需求 |
||||
|
2. AI自动理解并执行 |
||||
|
3. 自动获取抖音数据 |
||||
|
4. 自动分析数据 |
||||
|
5. 给出专业建议 |
||||
|
|
||||
|
**最重要的是**:只需修改提示词文件就能控制整个流程! |
||||
|
|
||||
|
## 🎯 立即开始(3步) |
||||
|
|
||||
|
### 1️⃣ 配置API Key |
||||
|
|
||||
|
```bash |
||||
|
# 编辑 .env 文件,填入你的阿里云百炼API Key |
||||
|
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx |
||||
|
``` |
||||
|
|
||||
|
获取API Key: https://dashscope.console.aliyun.com/ |
||||
|
|
||||
|
### 2️⃣ 安装依赖 |
||||
|
|
||||
|
```bash |
||||
|
pip install -r requirements.txt |
||||
|
``` |
||||
|
|
||||
|
### 3️⃣ 测试运行 |
||||
|
|
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
## 💡 使用示例 |
||||
|
|
||||
|
### 示例1:分析游戏类视频 |
||||
|
|
||||
|
```bash |
||||
|
# 启动API服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 在另一个终端调用 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "帮我分析一下游戏类视频的热门趋势"}' |
||||
|
``` |
||||
|
|
||||
|
### 示例2:获取美食创作建议 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "我想做美食相关的内容,给我一些建议"}' |
||||
|
``` |
||||
|
|
||||
|
### 示例3:分析特定关键词 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "王者荣耀的视频现在什么内容最火?"}' |
||||
|
``` |
||||
|
|
||||
|
## 🎨 自定义Agent行为 |
||||
|
|
||||
|
### 核心文件:`prompts/agent_prompt.md` |
||||
|
|
||||
|
这个文件控制Agent的所有行为! |
||||
|
|
||||
|
```markdown |
||||
|
## 工作流程 |
||||
|
|
||||
|
### 2. 制定执行计划 |
||||
|
|
||||
|
**场景A:用户提到明确的分类** |
||||
|
- 使用 `get_creative_guidance` 获取数据 |
||||
|
- 使用 `analyze_video_data` 分析 |
||||
|
- 总结并给出建议 |
||||
|
|
||||
|
**场景B:你的自定义场景** |
||||
|
- 你的自定义逻辑 |
||||
|
- ... |
||||
|
``` |
||||
|
|
||||
|
修改这个文件,Agent就会按照你的逻辑执行! |
||||
|
|
||||
|
## 🔧 添加新功能 |
||||
|
|
||||
|
### 在 `ai_agent.py` 中添加新工具: |
||||
|
|
||||
|
```python |
||||
|
# 1. 定义工具函数 |
||||
|
async def your_tool(param: str) -> Dict: |
||||
|
# 你的实现 |
||||
|
return {"success": True, "data": ...} |
||||
|
|
||||
|
# 2. 在 create_agent() 中注册 |
||||
|
agent.register_tool( |
||||
|
name="your_tool", |
||||
|
func=your_tool, |
||||
|
description="工具描述(AI会根据这个决定何时使用)", |
||||
|
parameters={...} |
||||
|
) |
||||
|
``` |
||||
|
|
||||
|
### 在 `prompts/agent_prompt.md` 中添加使用场景: |
||||
|
|
||||
|
```markdown |
||||
|
**场景X:用户需要XXX** |
||||
|
- 使用 `your_tool` 做XXX |
||||
|
- ... |
||||
|
``` |
||||
|
|
||||
|
## 📚 文档导航 |
||||
|
|
||||
|
### 快速开始 |
||||
|
- **[SUMMARY.md](SUMMARY.md)** ⭐ - 功能总结和核心概念 |
||||
|
- **[AGENT_QUICKSTART.md](AGENT_QUICKSTART.md)** - 30秒上手Agent |
||||
|
|
||||
|
### 详细文档 |
||||
|
- **[README_AGENT.md](README_AGENT.md)** - Agent完整文档 |
||||
|
- [README_AI.md](README_AI.md) - AI分析功能文档 |
||||
|
- [PROJECT_OVERVIEW.md](PROJECT_OVERVIEW.md) - 项目总览 |
||||
|
|
||||
|
### 配置和测试 |
||||
|
- [QUICKSTART.md](QUICKSTART.md) - 基础功能快速开始 |
||||
|
- `test_agent.py` - Agent测试脚本 |
||||
|
- `test_ai_analysis.py` - AI分析测试脚本 |
||||
|
|
||||
|
## 🎯 核心文件 |
||||
|
|
||||
|
### 必须了解 |
||||
|
- `prompts/agent_prompt.md` - **控制Agent行为** |
||||
|
- `ai_agent.py` - Agent核心实现 |
||||
|
- `api.py` - API服务 |
||||
|
|
||||
|
### 配置文件 |
||||
|
- `.env` - API Key配置 |
||||
|
- `douyin_data_soupce/douyin_cookie.json` - 抖音Cookie |
||||
|
|
||||
|
## 💡 工作原理 |
||||
|
|
||||
|
``` |
||||
|
用户输入: "帮我分析游戏类视频" |
||||
|
↓ |
||||
|
AI理解意图: 需要游戏分类数据 |
||||
|
↓ |
||||
|
AI选择工具: get_creative_guidance |
||||
|
↓ |
||||
|
执行工具: 获取50个游戏视频 |
||||
|
↓ |
||||
|
AI选择工具: analyze_video_data |
||||
|
↓ |
||||
|
执行工具: 分析数据 |
||||
|
↓ |
||||
|
AI生成答案: 包含趋势、建议等 |
||||
|
↓ |
||||
|
返回给用户 |
||||
|
``` |
||||
|
|
||||
|
## ✨ 核心优势 |
||||
|
|
||||
|
1. **自然语言交互** - 不需要学习API,直接说需求 |
||||
|
2. **自主决策** - AI自动选择工具和执行顺序 |
||||
|
3. **提示词驱动** - 修改提示词就能改变行为 |
||||
|
4. **易于扩展** - 轻松添加新工具 |
||||
|
|
||||
|
## 🎉 开始使用 |
||||
|
|
||||
|
### 方式1:测试脚本(推荐新手) |
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
### 方式2:命令行 |
||||
|
```bash |
||||
|
python ai_agent.py --query "你的查询" |
||||
|
``` |
||||
|
|
||||
|
### 方式3:API服务(推荐生产) |
||||
|
```bash |
||||
|
python api.py |
||||
|
# 访问 http://localhost:8001/docs |
||||
|
``` |
||||
|
|
||||
|
## 🆘 需要帮助? |
||||
|
|
||||
|
1. 查看 [SUMMARY.md](SUMMARY.md) 了解核心概念 |
||||
|
2. 查看 [README_AGENT.md](README_AGENT.md) 了解详细功能 |
||||
|
3. 运行 `python test_agent.py` 测试功能 |
||||
|
4. 访问 http://localhost:8001/docs 查看API文档 |
||||
|
|
||||
|
## 🚀 下一步 |
||||
|
|
||||
|
1. ✅ 测试基础功能: `python test_agent.py` |
||||
|
2. ✅ 自定义提示词: 编辑 `prompts/agent_prompt.md` |
||||
|
3. ✅ 添加新工具: 在 `ai_agent.py` 中添加 |
||||
|
4. ✅ 集成到你的应用 |
||||
|
|
||||
|
开始探索吧!🎊 |
||||
@ -0,0 +1,234 @@ |
|||||
|
# 项目功能总结 |
||||
|
|
||||
|
## 🎯 核心实现 |
||||
|
|
||||
|
你的需求已经完全实现!现在你有一个**AI Agent智能代理系统**,可以: |
||||
|
|
||||
|
1. ✅ 用户用自然语言描述需求 |
||||
|
2. ✅ AI自动理解意图并提取关键词 |
||||
|
3. ✅ AI自主选择合适的工具(如 `get_creative_guidance`) |
||||
|
4. ✅ 自动获取数据 |
||||
|
5. ✅ 自动分析数据 |
||||
|
6. ✅ 给出总结和建议 |
||||
|
7. ✅ **只需修改提示词文件就能控制整个流程** |
||||
|
|
||||
|
## 📁 关键文件 |
||||
|
|
||||
|
### 核心模块 |
||||
|
- `ai_agent.py` - AI Agent核心实现,支持函数调用 |
||||
|
- `api.py` - FastAPI服务,包含Agent接口 |
||||
|
- `prompts/agent_prompt.md` - **控制Agent行为的提示词** |
||||
|
|
||||
|
### 测试和文档 |
||||
|
- `test_agent.py` - Agent测试脚本 |
||||
|
- `README_AGENT.md` - Agent完整文档 |
||||
|
- `AGENT_QUICKSTART.md` - Agent快速开始 |
||||
|
|
||||
|
## 🚀 使用方式 |
||||
|
|
||||
|
### 方式1:API接口(推荐) |
||||
|
|
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用Agent |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "帮我分析一下游戏类视频的热门趋势" |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 方式2:命令行 |
||||
|
|
||||
|
```bash |
||||
|
python ai_agent.py --query "帮我分析一下游戏类视频的热门趋势" |
||||
|
``` |
||||
|
|
||||
|
### 方式3:Python代码 |
||||
|
|
||||
|
```python |
||||
|
from ai_agent import create_agent |
||||
|
import asyncio |
||||
|
|
||||
|
async def main(): |
||||
|
agent = create_agent() |
||||
|
result = await agent.run("帮我分析一下游戏类视频的热门趋势") |
||||
|
print(result["final_answer"]) |
||||
|
|
||||
|
asyncio.run(main()) |
||||
|
``` |
||||
|
|
||||
|
## 🎨 自定义Agent行为 |
||||
|
|
||||
|
### 只需修改提示词! |
||||
|
|
||||
|
编辑 `prompts/agent_prompt.md`: |
||||
|
|
||||
|
```markdown |
||||
|
## 工作流程 |
||||
|
|
||||
|
### 2. 制定执行计划 |
||||
|
|
||||
|
**场景A:用户提到明确的分类(如"游戏"、"美食"等)** |
||||
|
- 使用 `get_creative_guidance` 获取该分类的创作指导数据 |
||||
|
- 使用 `analyze_video_data` 分析数据 |
||||
|
- 总结关键发现和建议 |
||||
|
|
||||
|
**场景B:你的自定义场景** |
||||
|
- 你的自定义逻辑 |
||||
|
- ... |
||||
|
``` |
||||
|
|
||||
|
就这么简单!Agent会按照你定义的逻辑执行。 |
||||
|
|
||||
|
## 🔧 添加新工具 |
||||
|
|
||||
|
在 `ai_agent.py` 中添加新工具: |
||||
|
|
||||
|
```python |
||||
|
# 1. 定义工具函数 |
||||
|
async def your_new_tool(param1: str, param2: int) -> Dict: |
||||
|
"""工具描述""" |
||||
|
# 实现逻辑 |
||||
|
return {"success": True, "data": ...} |
||||
|
|
||||
|
# 2. 在 create_agent() 中注册 |
||||
|
def create_agent() -> AIAgent: |
||||
|
agent = AIAgent(model="qwen-plus") |
||||
|
|
||||
|
agent.register_tool( |
||||
|
name="your_new_tool", |
||||
|
func=your_new_tool, |
||||
|
description="工具的详细描述,AI会根据这个描述决定何时使用", |
||||
|
parameters={ |
||||
|
"type": "object", |
||||
|
"properties": { |
||||
|
"param1": {"type": "string", "description": "参数1描述"}, |
||||
|
"param2": {"type": "integer", "description": "参数2描述"} |
||||
|
}, |
||||
|
"required": ["param1", "param2"] |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
return agent |
||||
|
``` |
||||
|
|
||||
|
然后在 `prompts/agent_prompt.md` 中添加使用场景: |
||||
|
|
||||
|
```markdown |
||||
|
**场景X:用户需要XXX** |
||||
|
- 使用 `your_new_tool` 做XXX |
||||
|
- ... |
||||
|
``` |
||||
|
|
||||
|
## 📊 工作流程示例 |
||||
|
|
||||
|
### 示例:用户查询 "帮我分析一下游戏类视频的热门趋势" |
||||
|
|
||||
|
``` |
||||
|
[迭代 1] AI理解意图 |
||||
|
→ 用户想要"游戏"分类的热门趋势分析 |
||||
|
|
||||
|
[迭代 1] 调用工具: get_creative_guidance |
||||
|
参数: {"category": "游戏"} |
||||
|
结果: 获取到50个游戏类视频数据 |
||||
|
|
||||
|
[迭代 2] 调用工具: analyze_video_data |
||||
|
参数: {"videos": [...], "focus": "热门趋势"} |
||||
|
结果: 统计分析结果(热门标签、热词、高互动视频等) |
||||
|
|
||||
|
[迭代 3] 生成最终答案 |
||||
|
→ 包含数据概览、关键发现、内容趋势、创作建议等 |
||||
|
|
||||
|
总迭代次数: 3 |
||||
|
工具调用次数: 2 |
||||
|
``` |
||||
|
|
||||
|
## 🎯 已注册的工具 |
||||
|
|
||||
|
1. **extract_search_keywords** - 从用户查询中提取关键词 |
||||
|
2. **get_creative_guidance** - 获取抖音创作指导数据(支持分类) |
||||
|
3. **search_douyin_videos** - 搜索抖音视频(支持关键词) |
||||
|
4. **analyze_video_data** - 分析视频数据(统计标签、热词、互动等) |
||||
|
|
||||
|
## 💡 核心优势 |
||||
|
|
||||
|
### 1. 提示词驱动 |
||||
|
- 修改 `prompts/agent_prompt.md` 就能控制Agent行为 |
||||
|
- 不需要改代码,只需要改提示词 |
||||
|
- 可以定义多个场景和执行策略 |
||||
|
|
||||
|
### 2. 自主决策 |
||||
|
- AI自动理解用户意图 |
||||
|
- AI自动选择合适的工具 |
||||
|
- AI自动决定何时结束 |
||||
|
|
||||
|
### 3. 工具扩展 |
||||
|
- 轻松添加新工具 |
||||
|
- 工具之间可以组合使用 |
||||
|
- 支持同步和异步函数 |
||||
|
|
||||
|
### 4. 灵活控制 |
||||
|
- 可以限制最大迭代次数 |
||||
|
- 可以使用不同的模型 |
||||
|
- 可以自定义提示词文件 |
||||
|
|
||||
|
## 📚 文档导航 |
||||
|
|
||||
|
- [AGENT_QUICKSTART.md](AGENT_QUICKSTART.md) - 30秒上手 |
||||
|
- [README_AGENT.md](README_AGENT.md) - 完整文档 |
||||
|
- [PROJECT_OVERVIEW.md](PROJECT_OVERVIEW.md) - 项目总览 |
||||
|
- [README_AI.md](README_AI.md) - AI分析功能 |
||||
|
- [QUICKSTART.md](QUICKSTART.md) - 基础功能快速开始 |
||||
|
|
||||
|
## 🎉 你现在可以做什么 |
||||
|
|
||||
|
### 1. 立即使用 |
||||
|
```bash |
||||
|
python test_agent.py |
||||
|
``` |
||||
|
|
||||
|
### 2. 自定义行为 |
||||
|
编辑 `prompts/agent_prompt.md` |
||||
|
|
||||
|
### 3. 添加新工具 |
||||
|
在 `ai_agent.py` 中添加 |
||||
|
|
||||
|
### 4. 集成到你的应用 |
||||
|
```python |
||||
|
from ai_agent import create_agent |
||||
|
``` |
||||
|
|
||||
|
## 🔮 未来扩展 |
||||
|
|
||||
|
你可以轻松添加更多工具: |
||||
|
|
||||
|
- **数据导出工具** - 导出分析结果到Excel/PDF |
||||
|
- **图表生成工具** - 生成数据可视化图表 |
||||
|
- **竞品分析工具** - 对比分析竞品数据 |
||||
|
- **趋势预测工具** - 基于历史数据预测趋势 |
||||
|
- **内容生成工具** - 根据分析结果生成内容建议 |
||||
|
- **定时任务工具** - 定期抓取和分析数据 |
||||
|
|
||||
|
只需要: |
||||
|
1. 在 `ai_agent.py` 中定义工具函数 |
||||
|
2. 注册工具 |
||||
|
3. 在 `prompts/agent_prompt.md` 中添加使用场景 |
||||
|
|
||||
|
就这么简单! |
||||
|
|
||||
|
## ✨ 总结 |
||||
|
|
||||
|
你现在拥有一个完整的**AI Agent系统**: |
||||
|
|
||||
|
- ✅ 自然语言交互 |
||||
|
- ✅ 自主工具选择 |
||||
|
- ✅ 提示词驱动 |
||||
|
- ✅ 易于扩展 |
||||
|
- ✅ 完整文档 |
||||
|
|
||||
|
**核心理念**:通过修改提示词文件(`prompts/agent_prompt.md`)就能控制Agent的所有行为,无需修改代码! |
||||
|
|
||||
|
开始使用吧!🚀 |
||||
@ -0,0 +1,238 @@ |
|||||
|
# 更新总结 - 创作灵感生成功能 |
||||
|
|
||||
|
## ✅ 已完成的修改 |
||||
|
|
||||
|
### 1. 扩展支持的分类(26个) |
||||
|
|
||||
|
**之前**: 只支持8个分类 |
||||
|
- 全部、美食、旅行、泛生活、汽车、科技、游戏、二次元 |
||||
|
|
||||
|
**现在**: 支持26个分类 |
||||
|
- 美食、旅行、泛生活、汽车、科技、游戏、二次元 |
||||
|
- 娱乐、明星、体育、文化教育、校园、政务 |
||||
|
- 时尚、才艺、随拍、动植物、图文控 |
||||
|
- 剧情、亲子、三农、创意、户外、公益 |
||||
|
|
||||
|
**修改文件**: |
||||
|
- `ai_agent.py` - `extract_search_keywords()` 函数 |
||||
|
- `ai_agent.py` - `create_agent()` 工具注册 |
||||
|
|
||||
|
### 2. 新增创作灵感生成工具 |
||||
|
|
||||
|
**新增函数**: `generate_creative_inspirations()` |
||||
|
|
||||
|
**功能**: |
||||
|
- 基于视频数据生成9个创作灵感 |
||||
|
- 每个灵感包含:标题、核心创意、执行建议、热门标签 |
||||
|
- 使用AI深度分析,生成具体可执行的建议 |
||||
|
|
||||
|
**修改文件**: |
||||
|
- `ai_agent.py` - 新增 `generate_creative_inspirations()` 函数 |
||||
|
- `ai_agent.py` - 在 `create_agent()` 中注册新工具 |
||||
|
|
||||
|
### 3. 完全重写提示词 |
||||
|
|
||||
|
**文件**: `prompts/agent_prompt.md` |
||||
|
|
||||
|
**新的工作流程**: |
||||
|
``` |
||||
|
用户输入描述 |
||||
|
↓ |
||||
|
第1步:理解需求并提取分类 |
||||
|
↓ |
||||
|
第2步:获取创作指导数据(首选) |
||||
|
↓ |
||||
|
第3步:生成9个创作灵感 |
||||
|
↓ |
||||
|
第4步:如果不满意,搜索更多数据并生成新灵感 |
||||
|
``` |
||||
|
|
||||
|
**核心改进**: |
||||
|
- 明确定义了4步工作流程 |
||||
|
- 详细说明了26个支持的分类 |
||||
|
- 提供了多个场景示例 |
||||
|
- 规定了输出格式要求 |
||||
|
- 强调必须生成9个灵感 |
||||
|
|
||||
|
### 4. 更新API文档 |
||||
|
|
||||
|
**文件**: `api.py` |
||||
|
|
||||
|
**修改内容**: |
||||
|
- 更新 `/api/agent` 接口的文档说明 |
||||
|
- 说明新的功能:创作灵感生成 |
||||
|
- 列出26个支持的分类 |
||||
|
- 提供新的使用示例 |
||||
|
|
||||
|
### 5. 创建测试脚本 |
||||
|
|
||||
|
**新文件**: `test_inspiration.py` |
||||
|
|
||||
|
**功能**: |
||||
|
- 提供4个测试用例 |
||||
|
- 测试不同类型的内容需求 |
||||
|
- 验证灵感生成功能 |
||||
|
|
||||
|
### 6. 创建使用文档 |
||||
|
|
||||
|
**新文件**: `INSPIRATION_GUIDE.md` |
||||
|
|
||||
|
**内容**: |
||||
|
- 功能概述 |
||||
|
- 支持的分类列表 |
||||
|
- 快速开始指南 |
||||
|
- 使用示例 |
||||
|
- 输出格式说明 |
||||
|
- 最佳实践 |
||||
|
- 故障排查 |
||||
|
|
||||
|
## 🎯 实现的完整流程 |
||||
|
|
||||
|
### 用户调用 `/api/agent` 接口 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"query": "我想做一些美食相关的短视频,主要是家常菜的制作教程", |
||||
|
"max_iterations": 15 |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### Agent自动执行 |
||||
|
|
||||
|
1. **理解需求** - 识别出"美食"分类 |
||||
|
2. **获取数据** - 调用 `get_creative_guidance(category="美食")` |
||||
|
3. **生成灵感** - 调用 `generate_creative_inspirations(videos=..., user_query=..., count=9)` |
||||
|
4. **返回结果** - 返回9个创作灵感 |
||||
|
|
||||
|
### 如果用户不满意 |
||||
|
|
||||
|
用户可以继续对话: |
||||
|
``` |
||||
|
这些灵感不太适合我,能给我一些其他的吗? |
||||
|
``` |
||||
|
|
||||
|
Agent会: |
||||
|
1. 调用 `search_douyin_videos(keyword="美食")` 获取更多数据 |
||||
|
2. 再次调用 `generate_creative_inspirations()` 生成新的9个灵感 |
||||
|
|
||||
|
## 📊 工具调用流程 |
||||
|
|
||||
|
``` |
||||
|
迭代1: extract_search_keywords (可选) |
||||
|
↓ |
||||
|
迭代2: get_creative_guidance(category="识别的分类") |
||||
|
↓ |
||||
|
迭代3: generate_creative_inspirations(videos=..., count=9) |
||||
|
↓ |
||||
|
返回9个创作灵感 |
||||
|
↓ |
||||
|
(如果用户不满意) |
||||
|
↓ |
||||
|
迭代4: search_douyin_videos(keyword="...") |
||||
|
↓ |
||||
|
迭代5: generate_creative_inspirations(videos=..., count=9) |
||||
|
↓ |
||||
|
返回新的9个创作灵感 |
||||
|
``` |
||||
|
|
||||
|
## 🔧 技术实现 |
||||
|
|
||||
|
### 关键函数 |
||||
|
|
||||
|
1. **extract_search_keywords(user_query)** |
||||
|
- 从用户描述中提取分类 |
||||
|
- 支持26个分类的关键词匹配 |
||||
|
- 返回主要分类和所有匹配的分类 |
||||
|
|
||||
|
2. **generate_creative_inspirations(videos, user_query, count=9)** |
||||
|
- 使用AI分析视频数据 |
||||
|
- 生成指定数量的创作灵感 |
||||
|
- 返回结构化的灵感列表 |
||||
|
|
||||
|
3. **Agent工作流程** |
||||
|
- 由 `prompts/agent_prompt.md` 控制 |
||||
|
- 自动选择合适的工具 |
||||
|
- 按照定义的流程执行 |
||||
|
|
||||
|
## 📝 使用方式 |
||||
|
|
||||
|
### 方式1:API接口 |
||||
|
|
||||
|
```bash |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{ |
||||
|
"query": "我想做一些美食相关的短视频,主要是家常菜的制作教程", |
||||
|
"max_iterations": 15 |
||||
|
}' |
||||
|
``` |
||||
|
|
||||
|
### 方式2:测试脚本 |
||||
|
|
||||
|
```bash |
||||
|
python test_inspiration.py |
||||
|
``` |
||||
|
|
||||
|
### 方式3:Python代码 |
||||
|
|
||||
|
```python |
||||
|
from ai_agent import create_agent |
||||
|
import asyncio |
||||
|
|
||||
|
async def main(): |
||||
|
agent = create_agent() |
||||
|
result = await agent.run( |
||||
|
user_input="你的需求描述", |
||||
|
max_iterations=15 |
||||
|
) |
||||
|
print(result["final_answer"]) |
||||
|
|
||||
|
asyncio.run(main()) |
||||
|
``` |
||||
|
|
||||
|
## 🎨 自定义配置 |
||||
|
|
||||
|
### 修改灵感数量 |
||||
|
|
||||
|
在 `prompts/agent_prompt.md` 中修改: |
||||
|
```markdown |
||||
|
使用 `generate_creative_inspirations(videos=..., count=12)` 生成12个灵感 |
||||
|
``` |
||||
|
|
||||
|
### 添加新分类 |
||||
|
|
||||
|
在 `ai_agent.py` 的 `extract_search_keywords()` 中添加: |
||||
|
```python |
||||
|
category_map = { |
||||
|
"新分类": ["关键词1", "关键词2"], |
||||
|
... |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### 调整输出格式 |
||||
|
|
||||
|
修改 `prompts/agent_prompt.md` 中的输出格式要求部分。 |
||||
|
|
||||
|
## ✨ 核心优势 |
||||
|
|
||||
|
1. **自动化流程** - 用户只需描述需求,系统自动完成所有步骤 |
||||
|
2. **智能分类** - 自动识别26种内容分类 |
||||
|
3. **数据驱动** - 基于真实的热门视频数据 |
||||
|
4. **具体可执行** - 每个灵感都包含详细的执行建议 |
||||
|
5. **可迭代优化** - 不满意可以获取更多灵感 |
||||
|
|
||||
|
## 📚 相关文档 |
||||
|
|
||||
|
- [INSPIRATION_GUIDE.md](INSPIRATION_GUIDE.md) - 使用指南 |
||||
|
- [prompts/agent_prompt.md](prompts/agent_prompt.md) - Agent提示词 |
||||
|
- [test_inspiration.py](test_inspiration.py) - 测试脚本 |
||||
|
|
||||
|
## 🎉 完成状态 |
||||
|
|
||||
|
✅ 所有功能已实现 |
||||
|
✅ 提示词已更新 |
||||
|
✅ API文档已更新 |
||||
|
✅ 测试脚本已创建 |
||||
|
✅ 使用文档已创建 |
||||
|
|
||||
|
**可以开始使用了!** 🚀 |
||||
@ -0,0 +1,131 @@ |
|||||
|
# 更新总结 - 2026年1月7日 |
||||
|
|
||||
|
## ✅ 完成的修改 |
||||
|
|
||||
|
### 1. AI智能分类功能 |
||||
|
- ✅ 将关键词匹配改为AI智能分类 |
||||
|
- ✅ 删除了 `fallback_keyword_matching()` 后备函数 |
||||
|
- ✅ AI分类失败时直接返回默认分类"泛生活" |
||||
|
- ✅ 修复了API Key加载问题 |
||||
|
- ✅ 测试通过,所有26个分类都能正确识别 |
||||
|
|
||||
|
### 2. 创作灵感生成功能优化 |
||||
|
- ✅ 只分析前9条视频数据(之前是前20条) |
||||
|
- ✅ 为每条视频生成一个对应的创作灵感 |
||||
|
- ✅ 每个灵感包含参考视频信息(作者、描述) |
||||
|
- ✅ 使用对应视频的真实标签和热词 |
||||
|
- ✅ 更新了系统提示词 |
||||
|
|
||||
|
## 📋 核心变化 |
||||
|
|
||||
|
### AI智能分类 |
||||
|
``` |
||||
|
用户描述 → AI分析 → 从26个分类中选择最匹配的 → 返回分类 |
||||
|
``` |
||||
|
|
||||
|
### 创作灵感生成 |
||||
|
``` |
||||
|
获取视频数据 → 只使用前9条 → 为每条生成对应灵感 → 返回9个灵感 |
||||
|
``` |
||||
|
|
||||
|
## 📂 修改的文件 |
||||
|
|
||||
|
1. ✅ `ai_agent.py` |
||||
|
- 修改 `extract_search_keywords()` - AI智能分类 |
||||
|
- 修改 `generate_creative_inspirations()` - 为每条视频生成灵感 |
||||
|
- 删除 `fallback_keyword_matching()` - 后备函数 |
||||
|
|
||||
|
2. ✅ `prompts/agent_prompt.md` |
||||
|
- 更新工作流程说明 |
||||
|
- 强调只使用前9条视频 |
||||
|
- 强调每个灵感对应一条视频 |
||||
|
- 更新输出格式要求 |
||||
|
|
||||
|
3. ✅ `test_ai_classification.py` |
||||
|
- 新建测试脚本 |
||||
|
- 测试AI分类功能 |
||||
|
|
||||
|
4. ✅ 文档文件 |
||||
|
- `AI_CLASSIFICATION_UPDATE.md` - AI分类更新说明 |
||||
|
- `CHANGES_SUMMARY.md` - 修改总结 |
||||
|
- `INSPIRATION_UPDATE.md` - 灵感生成更新说明 |
||||
|
- `UPDATE_SUMMARY_20260107.md` - 本文件 |
||||
|
|
||||
|
## 🎯 输出格式变化 |
||||
|
|
||||
|
### 之前 |
||||
|
```markdown |
||||
|
### 灵感 1:标题 |
||||
|
**核心创意**:创意描述 |
||||
|
**执行建议**:建议内容 |
||||
|
**推荐标签**:#标签1 #标签2 |
||||
|
**热门关键词**:关键词1、关键词2 |
||||
|
``` |
||||
|
|
||||
|
### 现在 |
||||
|
```markdown |
||||
|
### 灵感 1:标题 |
||||
|
**参考视频**:@作者名 - 视频描述片段 |
||||
|
**核心创意**:从这个视频中提炼的创意点 |
||||
|
**执行建议**:参考这个视频的成功要素 |
||||
|
**推荐标签**:#标签1 #标签2(来自视频) |
||||
|
**热门关键词**:关键词1、关键词2(来自视频) |
||||
|
``` |
||||
|
|
||||
|
## ✨ 优势 |
||||
|
|
||||
|
### AI智能分类 |
||||
|
1. 更智能 - AI理解用户意图 |
||||
|
2. 更准确 - 不依赖关键词匹配 |
||||
|
3. 更简洁 - 删除了复杂的关键词表 |
||||
|
4. 更灵活 - 理解各种表达方式 |
||||
|
|
||||
|
### 创作灵感生成 |
||||
|
1. 更精准 - 每个灵感基于一个真实视频 |
||||
|
2. 更易执行 - 有明确的参考对象 |
||||
|
3. 更高质量 - 只使用最热门的9条视频 |
||||
|
4. 更好体验 - 用户知道灵感来源 |
||||
|
|
||||
|
## 📝 测试方法 |
||||
|
|
||||
|
### 快速测试 |
||||
|
```bash |
||||
|
# 测试AI分类 |
||||
|
python test_ai_classification.py |
||||
|
|
||||
|
# 测试完整流程 |
||||
|
python quick_test.py |
||||
|
``` |
||||
|
|
||||
|
### API测试 |
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用接口 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d "{\"query\": \"我想做一些美食相关的短视频\", \"max_iterations\": 15}" |
||||
|
``` |
||||
|
|
||||
|
## 🔧 配置要求 |
||||
|
|
||||
|
1. **环境变量**:`.env` 文件中配置 `DASHSCOPE_API_KEY` |
||||
|
2. **迭代次数**:建议设置 `max_iterations=15` |
||||
|
3. **网络连接**:需要访问阿里云百炼API |
||||
|
|
||||
|
## 📊 支持的26个分类 |
||||
|
|
||||
|
美食、旅行、泛生活、汽车、科技、游戏、二次元、娱乐、明星、体育、文化教育、校园、政务、时尚、才艺、随拍、动植物、图文控、剧情、亲子、三农、创意、户外、公益 |
||||
|
|
||||
|
## 🎉 完成状态 |
||||
|
|
||||
|
所有修改已完成,系统可以正常使用! |
||||
|
|
||||
|
- ✅ AI智能分类功能正常 |
||||
|
- ✅ 创作灵感生成功能优化完成 |
||||
|
- ✅ 测试脚本创建完成 |
||||
|
- ✅ 文档更新完成 |
||||
|
- ✅ 代码无错误 |
||||
|
|
||||
|
可以开始使用新功能了! |
||||
@ -0,0 +1,200 @@ |
|||||
|
# URL返回问题修复说明 |
||||
|
|
||||
|
## 问题描述 |
||||
|
|
||||
|
生成的创作灵感JSON中,`url` 字段没有返回作者主页链接,或者返回的是 `N/A`。 |
||||
|
|
||||
|
## 问题原因 |
||||
|
|
||||
|
在 `generate_creative_inspirations()` 函数中,格式化视频数据时**没有包含 `authorLink` 字段**。 |
||||
|
|
||||
|
虽然提示词中要求AI使用 `authorLink` 字段作为URL,但是在传递给AI的视频数据中并没有包含这个字段,所以AI无法获取到URL信息。 |
||||
|
|
||||
|
### 错误的代码 |
||||
|
|
||||
|
```python |
||||
|
# 格式化视频数据 |
||||
|
video_data_text = f"## 视频数据\n总数: {actual_count}\n\n" |
||||
|
for i, video in enumerate(videos_to_use, 1): |
||||
|
video_data_text += f"### 视频 {i}\n" |
||||
|
video_data_text += f"- 作者: {video.get('author', 'N/A')}\n" |
||||
|
video_data_text += f"- 描述: {video.get('description', 'N/A')}\n" |
||||
|
# ❌ 缺少 authorLink 字段 |
||||
|
if video.get('hot'): |
||||
|
video_data_text += f"- 热度: {video.get('hot')}\n" |
||||
|
... |
||||
|
``` |
||||
|
|
||||
|
**问题**:AI看不到 `authorLink` 字段,所以无法在生成的JSON中包含正确的URL。 |
||||
|
|
||||
|
### 正确的代码 |
||||
|
|
||||
|
```python |
||||
|
# 格式化视频数据 |
||||
|
video_data_text = f"## 视频数据\n总数: {actual_count}\n\n" |
||||
|
for i, video in enumerate(videos_to_use, 1): |
||||
|
video_data_text += f"### 视频 {i}\n" |
||||
|
video_data_text += f"- 作者: {video.get('author', 'N/A')}\n" |
||||
|
video_data_text += f"- 作者主页链接: {video.get('authorLink', 'N/A')}\n" # ✅ 添加这一行 |
||||
|
video_data_text += f"- 描述: {video.get('description', 'N/A')}\n" |
||||
|
if video.get('hot'): |
||||
|
video_data_text += f"- 热度: {video.get('hot')}\n" |
||||
|
... |
||||
|
``` |
||||
|
|
||||
|
**改进**:现在AI可以看到 `authorLink` 字段,并将其包含在生成的JSON中。 |
||||
|
|
||||
|
## 修复内容 |
||||
|
|
||||
|
### 修复 `ai_agent.py` |
||||
|
|
||||
|
**位置**:`generate_creative_inspirations()` 函数,第600-615行 |
||||
|
|
||||
|
**修改**:在格式化视频数据时,添加了 `authorLink` 字段 |
||||
|
|
||||
|
```python |
||||
|
video_data_text += f"- 作者主页链接: {video.get('authorLink', 'N/A')}\n" |
||||
|
``` |
||||
|
|
||||
|
## 数据流 |
||||
|
|
||||
|
### 视频数据结构 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"author": "清华大学", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=...", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!...", |
||||
|
"hashTags": ["#清华大学", "#我会等", "#校园"], |
||||
|
"hotWords": ["世界", "我会", "等你"] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### 传递给AI的数据 |
||||
|
|
||||
|
```markdown |
||||
|
### 视频 1 |
||||
|
- 作者: 清华大学 |
||||
|
- 作者主页链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=... |
||||
|
- 描述: 我会等! 等枯树生出芽,等你来清华!... |
||||
|
- 标签: #清华大学, #我会等, #校园 |
||||
|
- 热词: 世界, 我会, 等你 |
||||
|
``` |
||||
|
|
||||
|
### AI生成的JSON |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "名校励志短片", |
||||
|
"description": "以名校为背景,拍摄励志短片...", |
||||
|
"reference_author": "清华大学", |
||||
|
"reference_description": "我会等! 等枯树生出芽,等你来清华!...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=...", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#清华大学", "#我会等", "#校园"], |
||||
|
"keywords": ["世界", "我会", "等你"] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## 测试方法 |
||||
|
|
||||
|
### 方法1:使用测试脚本 |
||||
|
|
||||
|
```bash |
||||
|
python test_url_return.py |
||||
|
``` |
||||
|
|
||||
|
这个脚本会: |
||||
|
1. 调用Agent生成灵感 |
||||
|
2. 检查每个灵感是否包含URL |
||||
|
3. 验证URL是否有效(包含http) |
||||
|
4. 显示统计结果 |
||||
|
|
||||
|
### 方法2:手动测试 |
||||
|
|
||||
|
```python |
||||
|
import asyncio |
||||
|
from ai_agent import create_agent |
||||
|
import json |
||||
|
import re |
||||
|
|
||||
|
async def test(): |
||||
|
agent = create_agent() |
||||
|
result = await agent.run( |
||||
|
user_input="我想做一些校园相关的短视频", |
||||
|
system_prompt_file="prompts/agent_prompt.md", |
||||
|
max_iterations=15 |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
# 提取JSON |
||||
|
json_match = re.search(r'```json\s*(.*?)\s*```', result["final_answer"], re.DOTALL) |
||||
|
if json_match: |
||||
|
data = json.loads(json_match.group(1)) |
||||
|
for inspiration in data['inspirations']: |
||||
|
print(f"标题: {inspiration['title']}") |
||||
|
print(f"URL: {inspiration['url']}") |
||||
|
print() |
||||
|
|
||||
|
asyncio.run(test()) |
||||
|
``` |
||||
|
|
||||
|
### 方法3:通过API测试 |
||||
|
|
||||
|
```bash |
||||
|
# 启动服务 |
||||
|
python api.py |
||||
|
|
||||
|
# 调用接口 |
||||
|
curl -X POST "http://localhost:8001/api/agent" \ |
||||
|
-H "Content-Type: application/json" \ |
||||
|
-d '{"query": "我想做一些校园相关的短视频", "max_iterations": 15}' |
||||
|
``` |
||||
|
|
||||
|
## 验证结果 |
||||
|
|
||||
|
修复后,生成的JSON应该包含有效的URL: |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"inspirations": [ |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "名校励志短片", |
||||
|
"description": "以名校为背景,拍摄励志短片...", |
||||
|
"reference_author": "清华大学", |
||||
|
"reference_description": "我会等! 等枯树生出芽,等你来清华!...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#清华大学", "#我会等", "#校园", "#上岸"], |
||||
|
"keywords": ["世界", "我会", "等你", "上岸"] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
### URL格式 |
||||
|
|
||||
|
- **格式**:`https://www.iesdouyin.com/share/user/{user_id}?sec_uid={sec_uid}` |
||||
|
- **类型**:作者主页链接 |
||||
|
- **用途**:用户可以点击访问作者的抖音主页 |
||||
|
|
||||
|
## 注意事项 |
||||
|
|
||||
|
1. **URL类型**:返回的是作者主页链接,不是视频链接 |
||||
|
2. **数据来源**:URL来自视频数据的 `authorLink` 字段 |
||||
|
3. **有效性**:URL应该以 `https://` 开头 |
||||
|
4. **可访问性**:需要在浏览器中打开,可能需要登录抖音 |
||||
|
|
||||
|
## 相关文件 |
||||
|
|
||||
|
- ✅ `ai_agent.py` - 添加了 `authorLink` 字段到视频数据格式化 |
||||
|
- ✅ `test_url_return.py` - 新建的URL测试脚本 |
||||
|
- ✅ `URL_FIX.md` - 本文件 |
||||
|
|
||||
|
## 修复完成 |
||||
|
|
||||
|
所有修改已完成,现在生成的灵感JSON中应该包含有效的作者主页URL了! |
||||
|
|
||||
|
关键是要**在传递给AI的数据中包含 `authorLink` 字段**。 |
||||
@ -0,0 +1,996 @@ |
|||||
|
""" |
||||
|
AI Agent - 智能代理系统 |
||||
|
支持函数调用,让AI自主选择工具完成任务 |
||||
|
""" |
||||
|
|
||||
|
import os |
||||
|
import json |
||||
|
import asyncio |
||||
|
from typing import List, Dict, Optional, Any |
||||
|
from pathlib import Path |
||||
|
import dashscope |
||||
|
from dashscope import Generation |
||||
|
from datetime import datetime |
||||
|
from dotenv import load_dotenv |
||||
|
|
||||
|
# 加载环境变量 |
||||
|
load_dotenv() |
||||
|
|
||||
|
|
||||
|
class AIAgent: |
||||
|
"""AI智能代理,支持函数调用""" |
||||
|
|
||||
|
def __init__(self, api_key: str = None, model: str = "qwen-plus"): |
||||
|
""" |
||||
|
初始化AI代理 |
||||
|
|
||||
|
Args: |
||||
|
api_key: 阿里云百炼API Key |
||||
|
model: 使用的模型名称 |
||||
|
""" |
||||
|
self.api_key = api_key or os.getenv("DASHSCOPE_API_KEY") |
||||
|
if not self.api_key: |
||||
|
raise ValueError("未提供API Key") |
||||
|
|
||||
|
dashscope.api_key = self.api_key |
||||
|
self.model = model |
||||
|
self.conversation_history = [] |
||||
|
self.available_tools = {} |
||||
|
|
||||
|
def register_tool(self, name: str, func: callable, description: str, parameters: dict): |
||||
|
""" |
||||
|
注册工具函数 |
||||
|
|
||||
|
Args: |
||||
|
name: 工具名称 |
||||
|
func: 工具函数 |
||||
|
description: 工具描述 |
||||
|
parameters: 参数定义(JSON Schema格式) |
||||
|
""" |
||||
|
self.available_tools[name] = { |
||||
|
"function": func, |
||||
|
"definition": { |
||||
|
"type": "function", |
||||
|
"function": { |
||||
|
"name": name, |
||||
|
"description": description, |
||||
|
"parameters": parameters |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
def get_tools_definition(self) -> List[Dict]: |
||||
|
"""获取所有工具的定义""" |
||||
|
return [tool["definition"] for tool in self.available_tools.values()] |
||||
|
|
||||
|
async def execute_tool(self, tool_name: str, arguments: dict) -> Any: |
||||
|
""" |
||||
|
执行工具函数 |
||||
|
|
||||
|
Args: |
||||
|
tool_name: 工具名称 |
||||
|
arguments: 工具参数 |
||||
|
|
||||
|
Returns: |
||||
|
工具执行结果 |
||||
|
""" |
||||
|
if tool_name not in self.available_tools: |
||||
|
return {"error": f"工具 {tool_name} 不存在"} |
||||
|
|
||||
|
try: |
||||
|
func = self.available_tools[tool_name]["function"] |
||||
|
|
||||
|
# 如果是异步函数 |
||||
|
if asyncio.iscoroutinefunction(func): |
||||
|
result = await func(**arguments) |
||||
|
else: |
||||
|
result = func(**arguments) |
||||
|
|
||||
|
return result |
||||
|
except Exception as e: |
||||
|
return {"error": f"执行工具 {tool_name} 时出错: {str(e)}"} |
||||
|
|
||||
|
def load_system_prompt(self, prompt_file: str) -> str: |
||||
|
"""加载系统提示词""" |
||||
|
try: |
||||
|
with open(prompt_file, 'r', encoding='utf-8') as f: |
||||
|
return f.read() |
||||
|
except Exception as e: |
||||
|
return f"加载提示词失败: {e}" |
||||
|
|
||||
|
async def run(self, user_input: str, system_prompt_file: str = "prompts/agent_prompt.md", |
||||
|
max_iterations: int = 10) -> Dict: |
||||
|
""" |
||||
|
运行AI代理 |
||||
|
|
||||
|
Args: |
||||
|
user_input: 用户输入 |
||||
|
system_prompt_file: 系统提示词文件 |
||||
|
max_iterations: 最大迭代次数(防止无限循环) |
||||
|
|
||||
|
Returns: |
||||
|
执行结果 |
||||
|
""" |
||||
|
# 加载系统提示词 |
||||
|
system_prompt = self.load_system_prompt(system_prompt_file) |
||||
|
|
||||
|
# 初始化对话历史 |
||||
|
self.conversation_history = [ |
||||
|
{"role": "system", "content": system_prompt}, |
||||
|
{"role": "user", "content": user_input} |
||||
|
] |
||||
|
|
||||
|
iteration = 0 |
||||
|
tool_calls_log = [] |
||||
|
|
||||
|
while iteration < max_iterations: |
||||
|
iteration += 1 |
||||
|
|
||||
|
# 调用模型 |
||||
|
try: |
||||
|
response = Generation.call( |
||||
|
model=self.model, |
||||
|
messages=self.conversation_history, |
||||
|
tools=self.get_tools_definition() if self.available_tools else None, |
||||
|
result_format='message' |
||||
|
) |
||||
|
|
||||
|
if response.status_code != 200: |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"API调用失败: {response.code} - {response.message}", |
||||
|
"iteration": iteration |
||||
|
} |
||||
|
|
||||
|
assistant_message = response.output.choices[0].message |
||||
|
|
||||
|
# 检查是否有工具调用(安全检查) |
||||
|
has_tool_calls = False |
||||
|
tool_calls_data = None |
||||
|
|
||||
|
try: |
||||
|
if hasattr(assistant_message, 'tool_calls'): |
||||
|
tool_calls_data = assistant_message.tool_calls |
||||
|
if tool_calls_data: |
||||
|
has_tool_calls = True |
||||
|
except (KeyError, AttributeError): |
||||
|
pass |
||||
|
|
||||
|
# 将助手消息添加到历史 |
||||
|
message_to_add = { |
||||
|
"role": assistant_message.role, |
||||
|
"content": assistant_message.content or "" |
||||
|
} |
||||
|
|
||||
|
if has_tool_calls: |
||||
|
message_to_add["tool_calls"] = tool_calls_data |
||||
|
|
||||
|
self.conversation_history.append(message_to_add) |
||||
|
|
||||
|
# 执行工具调用 |
||||
|
if has_tool_calls: |
||||
|
# 执行所有工具调用 |
||||
|
for tool_call in tool_calls_data: |
||||
|
# 处理不同的tool_call格式 |
||||
|
if isinstance(tool_call, dict): |
||||
|
tool_name = tool_call['function']['name'] |
||||
|
tool_args = json.loads(tool_call['function']['arguments']) |
||||
|
else: |
||||
|
tool_name = tool_call.function.name |
||||
|
tool_args = json.loads(tool_call.function.arguments) |
||||
|
|
||||
|
print(f"\n[迭代 {iteration}] 调用工具: {tool_name}") |
||||
|
print(f"参数: {json.dumps(tool_args, ensure_ascii=False, indent=2)}") |
||||
|
|
||||
|
# 执行工具 |
||||
|
tool_result = await self.execute_tool(tool_name, tool_args) |
||||
|
|
||||
|
# 记录工具调用 |
||||
|
tool_calls_log.append({ |
||||
|
"iteration": iteration, |
||||
|
"tool_name": tool_name, |
||||
|
"arguments": tool_args, |
||||
|
"result": tool_result |
||||
|
}) |
||||
|
|
||||
|
print(f"结果: {json.dumps(tool_result, ensure_ascii=False, indent=2)[:200]}...") |
||||
|
|
||||
|
# 将工具结果添加到对话历史 |
||||
|
self.conversation_history.append({ |
||||
|
"role": "tool", |
||||
|
"name": tool_name, |
||||
|
"content": json.dumps(tool_result, ensure_ascii=False) |
||||
|
}) |
||||
|
|
||||
|
# 继续下一轮对话 |
||||
|
continue |
||||
|
|
||||
|
# 没有工具调用,说明任务完成 |
||||
|
return { |
||||
|
"success": True, |
||||
|
"final_answer": assistant_message.content, |
||||
|
"iteration": iteration, |
||||
|
"tool_calls": tool_calls_log, |
||||
|
"conversation_history": self.conversation_history |
||||
|
} |
||||
|
|
||||
|
except Exception as e: |
||||
|
import traceback |
||||
|
error_details = traceback.format_exc() |
||||
|
print(f"\n错误详情:\n{error_details}") |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"执行过程出错: {str(e)}", |
||||
|
"iteration": iteration, |
||||
|
"tool_calls": tool_calls_log |
||||
|
} |
||||
|
|
||||
|
# 达到最大迭代次数 |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"达到最大迭代次数 {max_iterations}", |
||||
|
"iteration": iteration, |
||||
|
"tool_calls": tool_calls_log, |
||||
|
"partial_result": self.conversation_history[-1].get("content") if self.conversation_history else None |
||||
|
} |
||||
|
|
||||
|
|
||||
|
# ==================== 工具函数定义 ==================== |
||||
|
|
||||
|
async def search_douyin_videos(keyword: str, max_scroll: int = 5) -> Dict: |
||||
|
""" |
||||
|
搜索抖音视频 |
||||
|
|
||||
|
Args: |
||||
|
keyword: 搜索关键词 |
||||
|
max_scroll: 最大滚动次数 |
||||
|
|
||||
|
Returns: |
||||
|
搜索结果 |
||||
|
""" |
||||
|
from douyin_data_soupce.douyin_search_crawler import DouyinSearchCrawler |
||||
|
|
||||
|
crawler = DouyinSearchCrawler(headless=True) |
||||
|
|
||||
|
try: |
||||
|
await crawler.init_browser() |
||||
|
cookie_loaded = await crawler.load_cookies("douyin_data_soupce/douyin_cookie.json") |
||||
|
|
||||
|
if not cookie_loaded: |
||||
|
return {"success": False, "error": "无法加载Cookie"} |
||||
|
|
||||
|
videos = await crawler.search_videos(keyword, max_scroll=max_scroll) |
||||
|
await crawler.save_results(keyword, videos) |
||||
|
|
||||
|
return { |
||||
|
"success": True, |
||||
|
"keyword": keyword, |
||||
|
"total_count": len(videos), |
||||
|
"videos": videos[:10] # 只返回前10个,避免数据过大 |
||||
|
} |
||||
|
except Exception as e: |
||||
|
return {"success": False, "error": str(e)} |
||||
|
finally: |
||||
|
await crawler.close() |
||||
|
|
||||
|
|
||||
|
async def get_creative_guidance(category: str = "全部") -> Dict: |
||||
|
""" |
||||
|
获取抖音创作指导数据 |
||||
|
|
||||
|
Args: |
||||
|
category: 分类(全部/美食/旅行/泛生活/汽车/科技/游戏/二次元) |
||||
|
|
||||
|
Returns: |
||||
|
创作指导数据 |
||||
|
""" |
||||
|
from playwright.async_api import async_playwright |
||||
|
import sys |
||||
|
|
||||
|
# 导入创作指导爬虫的函数 |
||||
|
sys.path.append(str(Path(__file__).parent / "douyin_data_soupce")) |
||||
|
|
||||
|
url = "https://creator.douyin.com/creator-micro/creative-guidance" |
||||
|
output_dir = "douyin_data_soupce/douyin_data" |
||||
|
cookie_file = "douyin_data_soupce/douyin_cookie.json" |
||||
|
|
||||
|
try: |
||||
|
async with async_playwright() as p: |
||||
|
browser = await p.chromium.launch(headless=True) |
||||
|
|
||||
|
# 加载Cookie |
||||
|
context_options = {} |
||||
|
if Path(cookie_file).exists(): |
||||
|
with open(cookie_file, 'r', encoding='utf-8') as f: |
||||
|
cookies = json.load(f) |
||||
|
context_options['storage_state'] = {'cookies': cookies} |
||||
|
|
||||
|
context = await browser.new_context(**context_options) |
||||
|
page = await context.new_page() |
||||
|
|
||||
|
await page.goto(url, wait_until="domcontentloaded", timeout=60000) |
||||
|
await asyncio.sleep(10) |
||||
|
|
||||
|
# 点击分类 |
||||
|
category_clicked = False |
||||
|
if category and category != "全部": |
||||
|
print(f"尝试点击分类: {category}") |
||||
|
|
||||
|
# 先展开所有分类 |
||||
|
await page.evaluate(""" |
||||
|
() => { |
||||
|
const showButtons = document.querySelectorAll('.show-button-sDo51G'); |
||||
|
showButtons.forEach(btn => { |
||||
|
const text = btn.textContent.trim(); |
||||
|
// 如果按钮不是"收起",说明需要展开 |
||||
|
if (!text.includes('收起')) { |
||||
|
btn.click(); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
""") |
||||
|
await asyncio.sleep(1) |
||||
|
|
||||
|
# 查找并点击分类标签 |
||||
|
category_clicked = await page.evaluate(f""" |
||||
|
() => {{ |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
const targetDiv = categoryDivs.find(div => |
||||
|
div.textContent.trim() === '{category}' |
||||
|
); |
||||
|
if (targetDiv) {{ |
||||
|
targetDiv.click(); |
||||
|
return true; |
||||
|
}} |
||||
|
return false; |
||||
|
}} |
||||
|
""") |
||||
|
print(f"分类点击结果: {category_clicked}") |
||||
|
if category_clicked: |
||||
|
await asyncio.sleep(8) |
||||
|
else: |
||||
|
print(f"警告: 未找到分类 '{category}',将返回默认数据") |
||||
|
|
||||
|
# 提取数据 |
||||
|
data = await page.evaluate(""" |
||||
|
() => { |
||||
|
const videos = []; |
||||
|
const authorLinks = Array.from(document.querySelectorAll('a[href*="iesdouyin.com/share/user/"]')); |
||||
|
|
||||
|
authorLinks.forEach((authorLink, index) => { |
||||
|
try { |
||||
|
const author = authorLink.textContent.trim(); |
||||
|
let container = authorLink.parentElement; |
||||
|
let maxLevels = 10; |
||||
|
|
||||
|
while (container && maxLevels > 0) { |
||||
|
if (container.querySelector('.contain-info-LpWGHS')) break; |
||||
|
container = container.parentElement; |
||||
|
maxLevels--; |
||||
|
} |
||||
|
|
||||
|
if (!container) return; |
||||
|
|
||||
|
const paragraphs = Array.from(container.querySelectorAll('p')); |
||||
|
let description = ''; |
||||
|
for (let p of paragraphs) { |
||||
|
const text = p.textContent.trim(); |
||||
|
if (text && text !== '|' && text.length > 5 && !text.includes('万') && !text.includes(':')) { |
||||
|
description = text; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
let hot = '', plays = '', likes = '', comments = ''; |
||||
|
const infoContainer = container.querySelector('.contain-info-LpWGHS'); |
||||
|
if (infoContainer) { |
||||
|
const infoItems = infoContainer.querySelectorAll('.each-info-TpmTI0'); |
||||
|
infoItems.forEach(item => { |
||||
|
const img = item.querySelector('img'); |
||||
|
const text = item.textContent.trim(); |
||||
|
if (img && img.src) { |
||||
|
if (img.src.includes('hot_')) hot = text; |
||||
|
else if (img.src.includes('play')) plays = text; |
||||
|
else if (img.src.includes('digg')) likes = text; |
||||
|
else if (img.src.includes('comment')) comments = text; |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
const hotWords = []; |
||||
|
const hotWordElements = container.querySelectorAll('.other-text-XeleRf'); |
||||
|
hotWordElements.forEach((el, i) => { |
||||
|
const text = el.textContent.trim(); |
||||
|
if (i > 0 && text && !text.includes('热词')) hotWords.push(text); |
||||
|
}); |
||||
|
|
||||
|
const hashTags = description.match(/#[^\\s#]+/g) || []; |
||||
|
|
||||
|
if (author && description) { |
||||
|
videos.push({ |
||||
|
index: index + 1, |
||||
|
author: author, |
||||
|
description: description, |
||||
|
authorLink: authorLink.href, |
||||
|
hot: hot, |
||||
|
plays: plays, |
||||
|
likes: likes, |
||||
|
comments: comments, |
||||
|
hotWords: hotWords, |
||||
|
hashTags: hashTags |
||||
|
}); |
||||
|
} |
||||
|
} catch (e) {} |
||||
|
}); |
||||
|
|
||||
|
return { total: videos.length, videos: videos }; |
||||
|
} |
||||
|
""") |
||||
|
|
||||
|
await browser.close() |
||||
|
|
||||
|
# 保存数据 |
||||
|
if data['total'] > 0: |
||||
|
Path(output_dir).mkdir(parents=True, exist_ok=True) |
||||
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") |
||||
|
json_file = Path(output_dir) / f"douyin_creative_guidance_{category}_{timestamp}.json" |
||||
|
|
||||
|
result_data = { |
||||
|
'page_url': url, |
||||
|
'category': category, |
||||
|
'crawl_time': datetime.now().isoformat(), |
||||
|
'total_videos': data['total'], |
||||
|
'videos': data['videos'] |
||||
|
} |
||||
|
|
||||
|
with open(json_file, "w", encoding="utf-8") as f: |
||||
|
json.dump(result_data, f, ensure_ascii=False, indent=2) |
||||
|
|
||||
|
return { |
||||
|
"success": True, |
||||
|
"category": category, |
||||
|
"total_count": data['total'], |
||||
|
"videos": data['videos'][:10] # 只返回前10个 |
||||
|
} |
||||
|
|
||||
|
except Exception as e: |
||||
|
return {"success": False, "error": str(e)} |
||||
|
|
||||
|
|
||||
|
def analyze_video_data(videos: List[Dict], focus: str = None) -> Dict: |
||||
|
""" |
||||
|
使用AI深度分析视频数据(使用analyze_prompt.md提示词) |
||||
|
|
||||
|
Args: |
||||
|
videos: 视频数据列表 |
||||
|
focus: 分析重点(可选) |
||||
|
|
||||
|
Returns: |
||||
|
分析结果 |
||||
|
""" |
||||
|
if not videos: |
||||
|
return {"success": False, "error": "没有视频数据"} |
||||
|
|
||||
|
try: |
||||
|
# 使用AIAnalyzer进行深度分析 |
||||
|
from ai_analyzer import AIAnalyzer |
||||
|
|
||||
|
analyzer = AIAnalyzer() |
||||
|
|
||||
|
# 构建自定义指令 |
||||
|
custom_instruction = f"重点关注: {focus}" if focus else None |
||||
|
|
||||
|
# 调用AI分析(使用analyze_prompt.md) |
||||
|
result = analyzer.analyze( |
||||
|
videos=videos, |
||||
|
prompt_file="prompts/analyze_prompt.md", |
||||
|
custom_instruction=custom_instruction |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
return { |
||||
|
"success": True, |
||||
|
"analysis": result["analysis"], |
||||
|
"model": result["model"], |
||||
|
"video_count": result["video_count"], |
||||
|
"usage": result.get("usage"), |
||||
|
"focus": focus |
||||
|
} |
||||
|
else: |
||||
|
# 如果AI分析失败,回退到简单统计分析 |
||||
|
return simple_analyze_video_data(videos, focus) |
||||
|
|
||||
|
except Exception as e: |
||||
|
# 如果出错,回退到简单统计分析 |
||||
|
print(f"AI分析出错,使用简单统计: {e}") |
||||
|
return simple_analyze_video_data(videos, focus) |
||||
|
|
||||
|
|
||||
|
def generate_creative_inspirations(videos: List[Dict], user_query: str, count: int = 9) -> Dict: |
||||
|
""" |
||||
|
基于视频数据生成创作灵感 - 为每条视频生成对应的灵感 |
||||
|
|
||||
|
Args: |
||||
|
videos: 视频数据列表 |
||||
|
user_query: 用户的原始查询 |
||||
|
count: 生成灵感的数量,默认9个 |
||||
|
|
||||
|
Returns: |
||||
|
创作灵感列表 |
||||
|
""" |
||||
|
if not videos: |
||||
|
return {"success": False, "error": "没有视频数据"} |
||||
|
|
||||
|
try: |
||||
|
from ai_analyzer import AIAnalyzer |
||||
|
|
||||
|
analyzer = AIAnalyzer() |
||||
|
|
||||
|
# 只使用前9条视频数据 |
||||
|
videos_to_use = videos[:count] |
||||
|
actual_count = len(videos_to_use) |
||||
|
|
||||
|
# 构建专门用于生成灵感的提示词 |
||||
|
inspiration_prompt = f""" |
||||
|
# 创作灵感生成专家 |
||||
|
|
||||
|
你是一个专业的短视频创作灵感生成专家。 |
||||
|
|
||||
|
## 任务 |
||||
|
|
||||
|
基于提供的 {actual_count} 条热门视频数据,为用户生成 {actual_count} 个具体可执行的创作灵感。 |
||||
|
|
||||
|
**重要**:每个灵感必须对应一条视频数据,从该视频中提炼创意。 |
||||
|
|
||||
|
用户需求:{user_query} |
||||
|
|
||||
|
## 灵感要求 |
||||
|
|
||||
|
每个灵感必须包含: |
||||
|
1. **id**:灵感编号(1-{actual_count}) |
||||
|
2. **title**:吸引人的标题(15字以内) |
||||
|
3. **description**:核心创意和执行建议的综合描述(100字以内) |
||||
|
4. **reference_author**:参考视频的作者名 |
||||
|
5. **reference_description**:参考视频的描述片段(30字以内) |
||||
|
6. **url**:参考视频作者的主页链接(authorLink字段) |
||||
|
7. **platform**:平台名称,固定为"抖音" |
||||
|
8. **tags**:推荐使用的标签数组(来自视频的hashTags) |
||||
|
9. **keywords**:热门关键词数组(来自视频的hotWords) |
||||
|
|
||||
|
## 输出格式 |
||||
|
|
||||
|
请严格按照以下JSON格式输出: |
||||
|
|
||||
|
```json |
||||
|
{{ |
||||
|
"inspirations": [ |
||||
|
{{ |
||||
|
"id": 1, |
||||
|
"title": "灵感标题", |
||||
|
"description": "核心创意描述和执行建议", |
||||
|
"reference_author": "参考视频作者", |
||||
|
"reference_description": "参考视频描述片段", |
||||
|
"url": "参考视频作者主页链接", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#标签1", "#标签2"], |
||||
|
"keywords": ["关键词1", "关键词2"] |
||||
|
}} |
||||
|
] |
||||
|
}} |
||||
|
``` |
||||
|
|
||||
|
## 注意事项 |
||||
|
|
||||
|
1. **每个灵感对应一条视频**:灵感1对应视频1,灵感2对应视频2,以此类推 |
||||
|
2. **使用视频的真实数据**: |
||||
|
- reference_author 使用视频的 author 字段 |
||||
|
- reference_description 使用视频的 description 字段(截取前30字) |
||||
|
- url 使用视频的 authorLink 字段 |
||||
|
- tags 使用视频的 hashTags 字段 |
||||
|
- keywords 使用视频的 hotWords 字段 |
||||
|
3. **description要综合**:将核心创意和执行建议合并成一段描述 |
||||
|
4. **要具体可执行**:不要泛泛而谈,要给出具体建议 |
||||
|
5. **要有创新性**:不是简单模仿,而是从视频中提炼创意 |
||||
|
6. **要符合用户需求**:灵感要符合用户的意图 |
||||
|
""" |
||||
|
|
||||
|
# 格式化视频数据 |
||||
|
video_data_text = f"## 视频数据\n总数: {actual_count}\n\n" |
||||
|
for i, video in enumerate(videos_to_use, 1): |
||||
|
video_data_text += f"### 视频 {i}\n" |
||||
|
video_data_text += f"- 作者: {video.get('author', 'N/A')}\n" |
||||
|
video_data_text += f"- 作者主页链接: {video.get('authorLink', 'N/A')}\n" |
||||
|
video_data_text += f"- 描述: {video.get('description', 'N/A')}\n" |
||||
|
if video.get('hot'): |
||||
|
video_data_text += f"- 热度: {video.get('hot')}\n" |
||||
|
if video.get('plays'): |
||||
|
video_data_text += f"- 播放: {video.get('plays')}\n" |
||||
|
if video.get('likes'): |
||||
|
video_data_text += f"- 点赞: {video.get('likes')}\n" |
||||
|
if video.get('hashTags'): |
||||
|
video_data_text += f"- 标签: {', '.join(video.get('hashTags'))}\n" |
||||
|
if video.get('hotWords'): |
||||
|
video_data_text += f"- 热词: {', '.join(video.get('hotWords'))}\n" |
||||
|
video_data_text += "\n" |
||||
|
|
||||
|
# 调用AI生成灵感 |
||||
|
import dashscope |
||||
|
from dashscope import Generation |
||||
|
|
||||
|
# 设置API Key |
||||
|
api_key = os.getenv("DASHSCOPE_API_KEY") |
||||
|
if api_key: |
||||
|
dashscope.api_key = api_key |
||||
|
|
||||
|
response = Generation.call( |
||||
|
model="qwen-plus", |
||||
|
messages=[ |
||||
|
{"role": "system", "content": inspiration_prompt}, |
||||
|
{"role": "user", "content": video_data_text} |
||||
|
], |
||||
|
result_format='message' |
||||
|
) |
||||
|
|
||||
|
if response.status_code == 200: |
||||
|
content = response.output.choices[0].message.content |
||||
|
|
||||
|
# 尝试解析JSON |
||||
|
import re |
||||
|
json_match = re.search(r'```json\s*(.*?)\s*```', content, re.DOTALL) |
||||
|
if json_match: |
||||
|
import json |
||||
|
inspirations_data = json.loads(json_match.group(1)) |
||||
|
inspirations = inspirations_data.get("inspirations", [])[:actual_count] |
||||
|
|
||||
|
# 直接填充URL - 确保每个灵感都有对应视频的authorLink |
||||
|
for i, inspiration in enumerate(inspirations): |
||||
|
if i < len(videos_to_use): |
||||
|
# 直接使用对应视频的authorLink |
||||
|
inspiration['url'] = videos_to_use[i].get('authorLink', 'N/A') |
||||
|
|
||||
|
return { |
||||
|
"success": True, |
||||
|
"inspirations": inspirations, |
||||
|
"total_count": len(inspirations), |
||||
|
"source": "creative_guidance" |
||||
|
} |
||||
|
else: |
||||
|
# 如果没有JSON格式,返回原始内容 |
||||
|
return { |
||||
|
"success": True, |
||||
|
"raw_content": content, |
||||
|
"source": "creative_guidance" |
||||
|
} |
||||
|
else: |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"AI调用失败: {response.code}" |
||||
|
} |
||||
|
|
||||
|
except Exception as e: |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"生成灵感时出错: {str(e)}" |
||||
|
} |
||||
|
|
||||
|
|
||||
|
def simple_analyze_video_data(videos: List[Dict], focus: str = None) -> Dict: |
||||
|
""" |
||||
|
简单统计分析视频数据(不使用AI) |
||||
|
|
||||
|
Args: |
||||
|
videos: 视频数据列表 |
||||
|
focus: 分析重点(可选) |
||||
|
|
||||
|
Returns: |
||||
|
分析结果 |
||||
|
""" |
||||
|
if not videos: |
||||
|
return {"success": False, "error": "没有视频数据"} |
||||
|
|
||||
|
# 统计分析 |
||||
|
total_videos = len(videos) |
||||
|
|
||||
|
# 提取所有标签 |
||||
|
all_tags = [] |
||||
|
all_hot_words = [] |
||||
|
|
||||
|
for video in videos: |
||||
|
all_tags.extend(video.get('hashTags', [])) |
||||
|
all_hot_words.extend(video.get('hotWords', [])) |
||||
|
|
||||
|
# 统计高频标签 |
||||
|
from collections import Counter |
||||
|
tag_counter = Counter(all_tags) |
||||
|
hot_word_counter = Counter(all_hot_words) |
||||
|
|
||||
|
top_tags = tag_counter.most_common(10) |
||||
|
top_hot_words = hot_word_counter.most_common(10) |
||||
|
|
||||
|
# 互动数据分析 |
||||
|
high_engagement_videos = [] |
||||
|
for video in videos: |
||||
|
if video.get('likes') or video.get('plays'): |
||||
|
high_engagement_videos.append({ |
||||
|
"author": video.get('author'), |
||||
|
"description": video.get('description', '')[:50] + "...", |
||||
|
"likes": video.get('likes'), |
||||
|
"plays": video.get('plays') |
||||
|
}) |
||||
|
|
||||
|
return { |
||||
|
"success": True, |
||||
|
"summary": { |
||||
|
"total_videos": total_videos, |
||||
|
"top_tags": [{"tag": tag, "count": count} for tag, count in top_tags], |
||||
|
"top_hot_words": [{"word": word, "count": count} for word, count in top_hot_words], |
||||
|
"high_engagement_count": len(high_engagement_videos) |
||||
|
}, |
||||
|
"high_engagement_videos": high_engagement_videos[:5], |
||||
|
"focus": focus, |
||||
|
"analysis_type": "simple_statistics" |
||||
|
} |
||||
|
|
||||
|
|
||||
|
def extract_search_keywords(user_query: str) -> Dict: |
||||
|
""" |
||||
|
使用AI从用户查询中提取最匹配的内容分类 |
||||
|
|
||||
|
Args: |
||||
|
user_query: 用户查询 |
||||
|
|
||||
|
Returns: |
||||
|
提取的分类信息 |
||||
|
""" |
||||
|
import dashscope |
||||
|
from dashscope import Generation |
||||
|
|
||||
|
# 设置API Key |
||||
|
api_key = os.getenv("DASHSCOPE_API_KEY") |
||||
|
if api_key: |
||||
|
dashscope.api_key = api_key |
||||
|
|
||||
|
# 支持的分类列表 |
||||
|
categories = [ |
||||
|
"美食", "旅行", "泛生活", "汽车", "科技", "游戏", "二次元", |
||||
|
"娱乐", "明星", "体育", "文化教育", "校园", "政务", |
||||
|
"时尚", "才艺", "随拍", "动植物", "图文控", |
||||
|
"剧情", "亲子", "三农", "创意", "户外", "公益" |
||||
|
] |
||||
|
|
||||
|
# 构建AI提示词 |
||||
|
prompt = f"""你是一个内容分类专家。请根据用户的描述,从以下分类中选择最匹配的一个: |
||||
|
|
||||
|
{', '.join(categories)} |
||||
|
|
||||
|
用户描述:{user_query} |
||||
|
|
||||
|
请分析用户想要创作的内容类型,并从上述分类中选择最匹配的一个。 |
||||
|
|
||||
|
要求: |
||||
|
1. 只返回一个分类名称 |
||||
|
2. 必须从给定的分类列表中选择 |
||||
|
3. 如果实在无法确定,返回"泛生活" |
||||
|
4. 不要返回其他任何内容,只返回分类名称 |
||||
|
|
||||
|
分类:""" |
||||
|
|
||||
|
try: |
||||
|
# 调用AI进行分类 |
||||
|
response = Generation.call( |
||||
|
model="qwen-plus", |
||||
|
messages=[ |
||||
|
{"role": "user", "content": prompt} |
||||
|
], |
||||
|
result_format='message' |
||||
|
) |
||||
|
|
||||
|
if response.status_code == 200: |
||||
|
category = response.output.choices[0].message.content.strip() |
||||
|
|
||||
|
# 验证返回的分类是否在列表中 |
||||
|
if category in categories: |
||||
|
return { |
||||
|
"success": True, |
||||
|
"categories": [category], |
||||
|
"primary_category": category, |
||||
|
"original_query": user_query, |
||||
|
"method": "ai_classification" |
||||
|
} |
||||
|
else: |
||||
|
# 如果AI返回的不在列表中,尝试模糊匹配 |
||||
|
for cat in categories: |
||||
|
if cat in category: |
||||
|
return { |
||||
|
"success": True, |
||||
|
"categories": [cat], |
||||
|
"primary_category": cat, |
||||
|
"original_query": user_query, |
||||
|
"method": "ai_classification_fuzzy" |
||||
|
} |
||||
|
|
||||
|
# 都不匹配,使用默认 |
||||
|
return { |
||||
|
"success": True, |
||||
|
"categories": ["泛生活"], |
||||
|
"primary_category": "泛生活", |
||||
|
"original_query": user_query, |
||||
|
"method": "default" |
||||
|
} |
||||
|
else: |
||||
|
# API调用失败,使用默认分类 |
||||
|
return { |
||||
|
"success": True, |
||||
|
"categories": ["泛生活"], |
||||
|
"primary_category": "泛生活", |
||||
|
"original_query": user_query, |
||||
|
"method": "default" |
||||
|
} |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"AI分类出错,使用默认分类: {e}") |
||||
|
# 出错时使用默认分类 |
||||
|
return { |
||||
|
"success": True, |
||||
|
"categories": ["泛生活"], |
||||
|
"primary_category": "泛生活", |
||||
|
"original_query": user_query, |
||||
|
"method": "default" |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
# ==================== 注册工具 ==================== |
||||
|
|
||||
|
def create_agent() -> AIAgent: |
||||
|
"""创建并配置AI代理""" |
||||
|
agent = AIAgent(model="qwen-plus") |
||||
|
|
||||
|
# 注册工具1: 提取搜索关键词 |
||||
|
agent.register_tool( |
||||
|
name="extract_search_keywords", |
||||
|
func=extract_search_keywords, |
||||
|
description="使用AI智能分析用户查询,从26个内容分类中选择最匹配的一个。这个工具会理解用户的意图并返回最合适的分类。", |
||||
|
parameters={ |
||||
|
"type": "object", |
||||
|
"properties": { |
||||
|
"user_query": { |
||||
|
"type": "string", |
||||
|
"description": "用户的原始查询或描述" |
||||
|
} |
||||
|
}, |
||||
|
"required": ["user_query"] |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
# 注册工具2: 获取创作指导数据 |
||||
|
agent.register_tool( |
||||
|
name="get_creative_guidance", |
||||
|
func=get_creative_guidance, |
||||
|
description="获取抖音创作指导页面的热门视频数据,支持按分类筛选。这是获取高质量创作灵感的首选方法。", |
||||
|
parameters={ |
||||
|
"type": "object", |
||||
|
"properties": { |
||||
|
"category": { |
||||
|
"type": "string", |
||||
|
"description": "视频分类", |
||||
|
"enum": ["全部", "美食", "旅行", "泛生活", "汽车", "科技", "游戏", "二次元", |
||||
|
"娱乐", "明星", "体育", "文化教育", "校园", "政务", "时尚", "才艺", |
||||
|
"随拍", "动植物", "图文控", "剧情", "亲子", "三农", "创意", "户外", "公益"] |
||||
|
} |
||||
|
}, |
||||
|
"required": ["category"] |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
# 注册工具3: 搜索抖音视频 |
||||
|
agent.register_tool( |
||||
|
name="search_douyin_videos", |
||||
|
func=search_douyin_videos, |
||||
|
description="根据关键词搜索抖音视频", |
||||
|
parameters={ |
||||
|
"type": "object", |
||||
|
"properties": { |
||||
|
"keyword": { |
||||
|
"type": "string", |
||||
|
"description": "搜索关键词" |
||||
|
}, |
||||
|
"max_scroll": { |
||||
|
"type": "integer", |
||||
|
"description": "最大滚动次数,默认5", |
||||
|
"default": 5 |
||||
|
} |
||||
|
}, |
||||
|
"required": ["keyword"] |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
# 注册工具4: 分析视频数据 |
||||
|
agent.register_tool( |
||||
|
name="analyze_video_data", |
||||
|
func=analyze_video_data, |
||||
|
description="使用AI深度分析视频数据(基于prompts/analyze_prompt.md提示词),提取标签、热词、互动数据等统计信息,并给出专业的内容趋势分析和创作建议", |
||||
|
parameters={ |
||||
|
"type": "object", |
||||
|
"properties": { |
||||
|
"videos": { |
||||
|
"type": "array", |
||||
|
"description": "视频数据列表", |
||||
|
"items": {"type": "object"} |
||||
|
}, |
||||
|
"focus": { |
||||
|
"type": "string", |
||||
|
"description": "分析重点(可选),例如:热门趋势、创作建议、爆款特征等" |
||||
|
} |
||||
|
}, |
||||
|
"required": ["videos"] |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
# 注册工具5: 生成创作灵感 |
||||
|
agent.register_tool( |
||||
|
name="generate_creative_inspirations", |
||||
|
func=generate_creative_inspirations, |
||||
|
description="基于视频数据生成具体可执行的创作灵感。这是为用户提供创作建议的核心工具,会生成包含标题、核心创意、执行建议和热门标签的灵感列表。", |
||||
|
parameters={ |
||||
|
"type": "object", |
||||
|
"properties": { |
||||
|
"videos": { |
||||
|
"type": "array", |
||||
|
"description": "视频数据列表", |
||||
|
"items": {"type": "object"} |
||||
|
}, |
||||
|
"user_query": { |
||||
|
"type": "string", |
||||
|
"description": "用户的原始查询,用于理解用户需求" |
||||
|
}, |
||||
|
"count": { |
||||
|
"type": "integer", |
||||
|
"description": "生成灵感的数量,默认9个", |
||||
|
"default": 9 |
||||
|
} |
||||
|
}, |
||||
|
"required": ["videos", "user_query"] |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
return agent |
||||
|
|
||||
|
|
||||
|
async def main(): |
||||
|
"""测试函数""" |
||||
|
import argparse |
||||
|
|
||||
|
parser = argparse.ArgumentParser(description="AI Agent测试") |
||||
|
parser.add_argument("--query", "-q", required=True, help="用户查询") |
||||
|
parser.add_argument("--prompt", "-p", default="prompts/agent_prompt.md", help="系统提示词文件") |
||||
|
args = parser.parse_args() |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("AI Agent 智能代理系统") |
||||
|
print("=" * 80) |
||||
|
print(f"\n用户查询: {args.query}\n") |
||||
|
|
||||
|
# 创建代理 |
||||
|
agent = create_agent() |
||||
|
|
||||
|
# 运行代理 |
||||
|
result = await agent.run(args.query, system_prompt_file=args.prompt) |
||||
|
|
||||
|
print("\n" + "=" * 80) |
||||
|
print("执行结果:") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print(f"\n{result['final_answer']}\n") |
||||
|
print(f"总迭代次数: {result['iteration']}") |
||||
|
print(f"工具调用次数: {len(result['tool_calls'])}") |
||||
|
else: |
||||
|
print(f"\n执行失败: {result['error']}") |
||||
|
if result.get('partial_result'): |
||||
|
print(f"部分结果: {result['partial_result']}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
asyncio.run(main()) |
||||
@ -0,0 +1,242 @@ |
|||||
|
""" |
||||
|
阿里云百炼AI分析模块 |
||||
|
用于分析抖音数据 |
||||
|
""" |
||||
|
|
||||
|
import os |
||||
|
import json |
||||
|
from pathlib import Path |
||||
|
from typing import List, Dict, Optional |
||||
|
import dashscope |
||||
|
from dashscope import Generation |
||||
|
from dotenv import load_dotenv |
||||
|
|
||||
|
# 加载环境变量 |
||||
|
load_dotenv() |
||||
|
|
||||
|
|
||||
|
class AIAnalyzer: |
||||
|
"""AI数据分析器""" |
||||
|
|
||||
|
def __init__(self, api_key: str = None, model: str = "qwen-plus"): |
||||
|
""" |
||||
|
初始化AI分析器 |
||||
|
|
||||
|
Args: |
||||
|
api_key: 阿里云百炼API Key,如果不提供则从环境变量读取 |
||||
|
model: 使用的模型名称,默认qwen-plus |
||||
|
""" |
||||
|
self.api_key = api_key or os.getenv("DASHSCOPE_API_KEY") |
||||
|
if not self.api_key: |
||||
|
raise ValueError("未提供API Key,请设置DASHSCOPE_API_KEY环境变量或传入api_key参数") |
||||
|
|
||||
|
dashscope.api_key = self.api_key |
||||
|
self.model = model |
||||
|
|
||||
|
def load_prompt(self, prompt_file: str) -> str: |
||||
|
""" |
||||
|
加载提示词文件 |
||||
|
|
||||
|
Args: |
||||
|
prompt_file: 提示词文件路径 |
||||
|
|
||||
|
Returns: |
||||
|
提示词内容 |
||||
|
""" |
||||
|
try: |
||||
|
with open(prompt_file, 'r', encoding='utf-8') as f: |
||||
|
return f.read() |
||||
|
except Exception as e: |
||||
|
raise Exception(f"加载提示词文件失败: {e}") |
||||
|
|
||||
|
def format_video_data(self, videos: List[Dict]) -> str: |
||||
|
""" |
||||
|
格式化视频数据为文本 |
||||
|
|
||||
|
Args: |
||||
|
videos: 视频数据列表 |
||||
|
|
||||
|
Returns: |
||||
|
格式化后的文本 |
||||
|
""" |
||||
|
data_text = f"## 数据总览\n总视频数: {len(videos)}\n\n## 视频详情\n\n" |
||||
|
|
||||
|
for i, video in enumerate(videos, 1): |
||||
|
data_text += f"### 视频 {i}\n" |
||||
|
data_text += f"- 作者: {video.get('author', 'N/A')}\n" |
||||
|
data_text += f"- 描述: {video.get('description', 'N/A')}\n" |
||||
|
|
||||
|
if video.get('duration'): |
||||
|
data_text += f"- 时长: {video.get('duration')}\n" |
||||
|
|
||||
|
if video.get('hot'): |
||||
|
data_text += f"- 热度: {video.get('hot')}\n" |
||||
|
if video.get('plays'): |
||||
|
data_text += f"- 播放量: {video.get('plays')}\n" |
||||
|
if video.get('likes'): |
||||
|
data_text += f"- 点赞: {video.get('likes')}\n" |
||||
|
if video.get('comments'): |
||||
|
data_text += f"- 评论: {video.get('comments')}\n" |
||||
|
|
||||
|
if video.get('hashTags'): |
||||
|
data_text += f"- 标签: {', '.join(video.get('hashTags'))}\n" |
||||
|
|
||||
|
if video.get('hotWords'): |
||||
|
data_text += f"- 热词: {', '.join(video.get('hotWords'))}\n" |
||||
|
|
||||
|
data_text += "\n" |
||||
|
|
||||
|
return data_text |
||||
|
|
||||
|
def analyze(self, videos: List[Dict], prompt_file: str = "prompts/analyze_prompt.md", |
||||
|
custom_instruction: str = None) -> Dict: |
||||
|
""" |
||||
|
分析视频数据 |
||||
|
|
||||
|
Args: |
||||
|
videos: 视频数据列表 |
||||
|
prompt_file: 提示词文件路径 |
||||
|
custom_instruction: 自定义分析指令(可选) |
||||
|
|
||||
|
Returns: |
||||
|
分析结果字典 |
||||
|
""" |
||||
|
try: |
||||
|
# 加载提示词 |
||||
|
system_prompt = self.load_prompt(prompt_file) |
||||
|
|
||||
|
# 格式化视频数据 |
||||
|
video_data_text = self.format_video_data(videos) |
||||
|
|
||||
|
# 构建用户消息 |
||||
|
user_message = f"{video_data_text}\n\n" |
||||
|
if custom_instruction: |
||||
|
user_message += f"特殊要求: {custom_instruction}\n\n" |
||||
|
user_message += "请根据以上数据进行分析。" |
||||
|
|
||||
|
# 调用API |
||||
|
messages = [ |
||||
|
{'role': 'system', 'content': system_prompt}, |
||||
|
{'role': 'user', 'content': user_message} |
||||
|
] |
||||
|
|
||||
|
response = Generation.call( |
||||
|
model=self.model, |
||||
|
messages=messages, |
||||
|
result_format='message' |
||||
|
) |
||||
|
|
||||
|
if response.status_code == 200: |
||||
|
analysis_result = response.output.choices[0].message.content |
||||
|
|
||||
|
return { |
||||
|
"success": True, |
||||
|
"analysis": analysis_result, |
||||
|
"model": self.model, |
||||
|
"video_count": len(videos), |
||||
|
"usage": { |
||||
|
"input_tokens": response.usage.input_tokens, |
||||
|
"output_tokens": response.usage.output_tokens, |
||||
|
"total_tokens": response.usage.total_tokens |
||||
|
} |
||||
|
} |
||||
|
else: |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"API调用失败: {response.code} - {response.message}", |
||||
|
"video_count": len(videos) |
||||
|
} |
||||
|
|
||||
|
except Exception as e: |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"分析过程出错: {str(e)}", |
||||
|
"video_count": len(videos) |
||||
|
} |
||||
|
|
||||
|
def analyze_from_file(self, json_file: str, prompt_file: str = "prompts/analyze_prompt.md", |
||||
|
custom_instruction: str = None) -> Dict: |
||||
|
""" |
||||
|
从JSON文件读取数据并分析 |
||||
|
|
||||
|
Args: |
||||
|
json_file: JSON数据文件路径 |
||||
|
prompt_file: 提示词文件路径 |
||||
|
custom_instruction: 自定义分析指令(可选) |
||||
|
|
||||
|
Returns: |
||||
|
分析结果字典 |
||||
|
""" |
||||
|
try: |
||||
|
with open(json_file, 'r', encoding='utf-8') as f: |
||||
|
data = json.load(f) |
||||
|
|
||||
|
videos = data.get('videos', []) |
||||
|
if not videos: |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": "JSON文件中没有视频数据", |
||||
|
"video_count": 0 |
||||
|
} |
||||
|
|
||||
|
return self.analyze(videos, prompt_file, custom_instruction) |
||||
|
|
||||
|
except Exception as e: |
||||
|
return { |
||||
|
"success": False, |
||||
|
"error": f"读取文件失败: {str(e)}", |
||||
|
"video_count": 0 |
||||
|
} |
||||
|
|
||||
|
|
||||
|
def main(): |
||||
|
"""测试函数""" |
||||
|
import argparse |
||||
|
|
||||
|
parser = argparse.ArgumentParser(description="AI数据分析工具") |
||||
|
parser.add_argument("--file", "-f", required=True, help="JSON数据文件路径") |
||||
|
parser.add_argument("--prompt", "-p", default="prompts/analyze_prompt.md", help="提示词文件路径") |
||||
|
parser.add_argument("--instruction", "-i", help="自定义分析指令") |
||||
|
parser.add_argument("--model", "-m", default="qwen-plus", help="模型名称") |
||||
|
parser.add_argument("--output", "-o", help="输出文件路径(可选)") |
||||
|
args = parser.parse_args() |
||||
|
|
||||
|
# 创建分析器 |
||||
|
analyzer = AIAnalyzer(model=args.model) |
||||
|
|
||||
|
# 分析数据 |
||||
|
print(f"正在分析文件: {args.file}") |
||||
|
print(f"使用模型: {args.model}") |
||||
|
print(f"提示词文件: {args.prompt}") |
||||
|
print() |
||||
|
|
||||
|
result = analyzer.analyze_from_file( |
||||
|
json_file=args.file, |
||||
|
prompt_file=args.prompt, |
||||
|
custom_instruction=args.instruction |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print("=" * 80) |
||||
|
print("分析结果:") |
||||
|
print("=" * 80) |
||||
|
print(result["analysis"]) |
||||
|
print() |
||||
|
print("=" * 80) |
||||
|
print(f"统计信息:") |
||||
|
print(f" 视频数量: {result['video_count']}") |
||||
|
print(f" 输入Token: {result['usage']['input_tokens']}") |
||||
|
print(f" 输出Token: {result['usage']['output_tokens']}") |
||||
|
print(f" 总Token: {result['usage']['total_tokens']}") |
||||
|
|
||||
|
# 保存结果 |
||||
|
if args.output: |
||||
|
with open(args.output, 'w', encoding='utf-8') as f: |
||||
|
f.write(result["analysis"]) |
||||
|
print(f"\n✓ 分析结果已保存到: {args.output}") |
||||
|
else: |
||||
|
print(f"✗ 分析失败: {result['error']}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
main() |
||||
@ -0,0 +1,623 @@ |
|||||
|
""" |
||||
|
抖音搜索 FastAPI 接口 |
||||
|
提供搜索抖音视频的 HTTP API |
||||
|
""" |
||||
|
|
||||
|
from fastapi import FastAPI, HTTPException |
||||
|
from pydantic import BaseModel, Field |
||||
|
from typing import Optional, List |
||||
|
import asyncio |
||||
|
import sys |
||||
|
import os |
||||
|
from pathlib import Path |
||||
|
import json |
||||
|
from datetime import datetime |
||||
|
from playwright.async_api import async_playwright |
||||
|
from dotenv import load_dotenv |
||||
|
|
||||
|
# 加载环境变量 |
||||
|
load_dotenv() |
||||
|
|
||||
|
# 添加 douyin_data_soupce 到路径 |
||||
|
sys.path.append(str(Path(__file__).parent / "douyin_data_soupce")) |
||||
|
|
||||
|
from douyin_data_soupce.douyin_search_crawler import DouyinSearchCrawler |
||||
|
from ai_analyzer import AIAnalyzer |
||||
|
from ai_agent import create_agent |
||||
|
|
||||
|
app = FastAPI(title="抖音数据API", description="提供抖音视频搜索、创作指导、AI分析和智能代理功能") |
||||
|
|
||||
|
|
||||
|
class SearchRequest(BaseModel): |
||||
|
keyword: str = Field(..., description="搜索关键词", min_length=1) |
||||
|
max_scroll: int = Field(default=5, description="最大滚动次数", ge=1, le=20) |
||||
|
headless: bool = Field(default=True, description="是否使用无头模式") |
||||
|
cookie_file: str = Field(default="douyin_data_soupce/douyin_cookie.json", description="Cookie文件路径") |
||||
|
|
||||
|
|
||||
|
class VideoInfo(BaseModel): |
||||
|
url: str |
||||
|
title: str |
||||
|
author: str |
||||
|
publishTime: str |
||||
|
duration: str |
||||
|
playCount: str |
||||
|
tags: List[str] |
||||
|
|
||||
|
|
||||
|
class SearchResponse(BaseModel): |
||||
|
success: bool |
||||
|
keyword: str |
||||
|
total_count: int |
||||
|
videos: List[VideoInfo] |
||||
|
message: Optional[str] = None |
||||
|
|
||||
|
|
||||
|
class CreativeGuidanceRequest(BaseModel): |
||||
|
category: str = Field(default="全部", description="分类标签(全部/美食/旅行/泛生活/汽车/科技/游戏/二次元)") |
||||
|
headless: bool = Field(default=True, description="是否使用无头模式") |
||||
|
cookie_file: str = Field(default="douyin_data_soupce/douyin_cookie.json", description="Cookie文件路径") |
||||
|
output_dir: str = Field(default="douyin_data_soupce/douyin_data", description="输出目录") |
||||
|
|
||||
|
|
||||
|
class CreativeVideoInfo(BaseModel): |
||||
|
index: int |
||||
|
author: str |
||||
|
description: str |
||||
|
authorLink: str |
||||
|
duration: Optional[str] = None |
||||
|
hot: Optional[str] = None |
||||
|
plays: Optional[str] = None |
||||
|
likes: Optional[str] = None |
||||
|
comments: Optional[str] = None |
||||
|
hotWords: List[str] = [] |
||||
|
hashTags: List[str] = [] |
||||
|
|
||||
|
|
||||
|
class CreativeGuidanceResponse(BaseModel): |
||||
|
success: bool |
||||
|
category: str |
||||
|
total_count: int |
||||
|
videos: List[CreativeVideoInfo] |
||||
|
page_url: str |
||||
|
crawl_time: str |
||||
|
message: Optional[str] = None |
||||
|
|
||||
|
|
||||
|
class AnalyzeRequest(BaseModel): |
||||
|
videos: List[dict] = Field(..., description="视频数据列表") |
||||
|
prompt_file: str = Field(default="prompts/analyze_prompt.md", description="提示词文件路径") |
||||
|
custom_instruction: Optional[str] = Field(None, description="自定义分析指令") |
||||
|
model: str = Field(default="qwen-plus", description="使用的模型名称") |
||||
|
api_key: Optional[str] = Field(None, description="阿里云百炼API Key(可选,默认从环境变量读取)") |
||||
|
|
||||
|
|
||||
|
class AnalyzeFileRequest(BaseModel): |
||||
|
json_file: str = Field(..., description="JSON数据文件路径") |
||||
|
prompt_file: str = Field(default="prompts/analyze_prompt.md", description="提示词文件路径") |
||||
|
custom_instruction: Optional[str] = Field(None, description="自定义分析指令") |
||||
|
model: str = Field(default="qwen-plus", description="使用的模型名称") |
||||
|
api_key: Optional[str] = Field(None, description="阿里云百炼API Key(可选,默认从环境变量读取)") |
||||
|
|
||||
|
|
||||
|
class AnalyzeResponse(BaseModel): |
||||
|
success: bool |
||||
|
analysis: Optional[str] = None |
||||
|
model: Optional[str] = None |
||||
|
video_count: int |
||||
|
usage: Optional[dict] = None |
||||
|
error: Optional[str] = None |
||||
|
|
||||
|
|
||||
|
class AgentRequest(BaseModel): |
||||
|
query: str = Field(..., description="用户查询", min_length=1) |
||||
|
system_prompt_file: str = Field(default="prompts/agent_prompt.md", description="系统提示词文件路径") |
||||
|
max_iterations: int = Field(default=10, description="最大迭代次数", ge=1, le=20) |
||||
|
model: str = Field(default="qwen-plus", description="使用的模型名称") |
||||
|
api_key: Optional[str] = Field(None, description="阿里云百炼API Key(可选)") |
||||
|
|
||||
|
|
||||
|
class AgentResponse(BaseModel): |
||||
|
success: bool |
||||
|
final_answer: Optional[str] = None |
||||
|
iteration: int |
||||
|
tool_calls: List[dict] = [] |
||||
|
error: Optional[str] = None |
||||
|
|
||||
|
|
||||
|
@app.get("/") |
||||
|
async def root(): |
||||
|
"""根路径""" |
||||
|
return { |
||||
|
"message": "抖音数据API", |
||||
|
"docs": "/docs", |
||||
|
"endpoints": { |
||||
|
"search": "/api/search", |
||||
|
"creative_guidance": "/api/creative-guidance", |
||||
|
"analyze": "/api/analyze", |
||||
|
"analyze_file": "/api/analyze-file", |
||||
|
"agent": "/api/agent" |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
async def load_cookies_for_creative(cookie_file: str): |
||||
|
"""加载Cookie文件""" |
||||
|
try: |
||||
|
with open(cookie_file, 'r', encoding='utf-8') as f: |
||||
|
cookies = json.load(f) |
||||
|
return cookies |
||||
|
except Exception as e: |
||||
|
return None |
||||
|
|
||||
|
|
||||
|
async def extract_creative_video_data(page): |
||||
|
"""从创作指导页面中提取视频数据""" |
||||
|
data = await page.evaluate(""" |
||||
|
() => { |
||||
|
const videos = []; |
||||
|
const authorLinks = Array.from(document.querySelectorAll('a[href*="iesdouyin.com/share/user/"]')); |
||||
|
|
||||
|
authorLinks.forEach((authorLink, index) => { |
||||
|
try { |
||||
|
const author = authorLink.textContent.trim(); |
||||
|
let container = authorLink.parentElement; |
||||
|
let maxLevels = 10; |
||||
|
|
||||
|
while (container && maxLevels > 0) { |
||||
|
if (container.querySelector('.contain-info-LpWGHS')) { |
||||
|
break; |
||||
|
} |
||||
|
container = container.parentElement; |
||||
|
maxLevels--; |
||||
|
} |
||||
|
|
||||
|
if (!container) return; |
||||
|
|
||||
|
const paragraphs = Array.from(container.querySelectorAll('p')); |
||||
|
let description = ''; |
||||
|
for (let p of paragraphs) { |
||||
|
const text = p.textContent.trim(); |
||||
|
if (text && text !== '|' && text.length > 5 && !text.includes('万') && !text.includes(':')) { |
||||
|
description = text; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
let hot = '', plays = '', likes = '', comments = ''; |
||||
|
const infoContainer = container.querySelector('.contain-info-LpWGHS'); |
||||
|
if (infoContainer) { |
||||
|
const infoItems = infoContainer.querySelectorAll('.each-info-TpmTI0'); |
||||
|
infoItems.forEach(item => { |
||||
|
const img = item.querySelector('img'); |
||||
|
const text = item.textContent.trim(); |
||||
|
if (img && img.src) { |
||||
|
if (img.src.includes('hot_')) { |
||||
|
hot = text; |
||||
|
} else if (img.src.includes('play')) { |
||||
|
plays = text; |
||||
|
} else if (img.src.includes('digg')) { |
||||
|
likes = text; |
||||
|
} else if (img.src.includes('comment')) { |
||||
|
comments = text; |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
const hotWords = []; |
||||
|
const hotWordElements = container.querySelectorAll('.other-text-XeleRf'); |
||||
|
hotWordElements.forEach((el, i) => { |
||||
|
const text = el.textContent.trim(); |
||||
|
if (i === 0 && text.includes('热词')) { |
||||
|
} else if (text && !text.includes('热词')) { |
||||
|
hotWords.push(text); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
const hashTags = description.match(/#[^\\s#]+/g) || []; |
||||
|
|
||||
|
let duration = ''; |
||||
|
const timeElements = container.querySelectorAll('.time-text-mask-WmpK85 p'); |
||||
|
if (timeElements.length > 0) { |
||||
|
duration = timeElements[0].textContent.trim(); |
||||
|
} |
||||
|
|
||||
|
if (author && description) { |
||||
|
videos.push({ |
||||
|
index: index + 1, |
||||
|
author: author, |
||||
|
description: description, |
||||
|
authorLink: authorLink.href, |
||||
|
duration: duration, |
||||
|
hot: hot, |
||||
|
plays: plays, |
||||
|
likes: likes, |
||||
|
comments: comments, |
||||
|
hotWords: hotWords, |
||||
|
hashTags: hashTags |
||||
|
}); |
||||
|
} |
||||
|
} catch (e) { |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
return { |
||||
|
total: videos.length, |
||||
|
videos: videos, |
||||
|
crawlTime: new Date().toISOString(), |
||||
|
pageTitle: document.title, |
||||
|
pageUrl: window.location.href |
||||
|
}; |
||||
|
} |
||||
|
""") |
||||
|
return data |
||||
|
|
||||
|
|
||||
|
async def crawl_creative_guidance_api(category: str, headless: bool, cookie_file: str, output_dir: str): |
||||
|
"""抓取抖音创作指导页面 - API版本""" |
||||
|
url = "https://creator.douyin.com/creator-micro/creative-guidance" |
||||
|
|
||||
|
async with async_playwright() as p: |
||||
|
browser = await p.chromium.launch(headless=headless) |
||||
|
|
||||
|
context_options = {} |
||||
|
if Path(cookie_file).exists(): |
||||
|
cookies = await load_cookies_for_creative(cookie_file) |
||||
|
if cookies: |
||||
|
context_options['storage_state'] = {'cookies': cookies} |
||||
|
|
||||
|
context = await browser.new_context(**context_options) |
||||
|
page = await context.new_page() |
||||
|
|
||||
|
try: |
||||
|
await page.goto(url, wait_until="domcontentloaded", timeout=60000) |
||||
|
await asyncio.sleep(10) |
||||
|
|
||||
|
if category and category != "全部": |
||||
|
# 先展开所有分类 |
||||
|
await page.evaluate(""" |
||||
|
() => { |
||||
|
const showButtons = document.querySelectorAll('.show-button-sDo51G'); |
||||
|
showButtons.forEach(btn => { |
||||
|
const text = btn.textContent.trim(); |
||||
|
// 如果按钮不是"收起",说明需要展开 |
||||
|
if (!text.includes('收起')) { |
||||
|
btn.click(); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
""") |
||||
|
await asyncio.sleep(1) |
||||
|
|
||||
|
# 查找并点击分类标签 |
||||
|
category_clicked = await page.evaluate(f""" |
||||
|
() => {{ |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
const targetDiv = categoryDivs.find(div => |
||||
|
div.textContent.trim() === '{category}' |
||||
|
); |
||||
|
if (targetDiv) {{ |
||||
|
targetDiv.click(); |
||||
|
return true; |
||||
|
}} |
||||
|
return false; |
||||
|
}} |
||||
|
""") |
||||
|
|
||||
|
if category_clicked: |
||||
|
await asyncio.sleep(8) |
||||
|
|
||||
|
data = await extract_creative_video_data(page) |
||||
|
|
||||
|
if data['total'] > 0: |
||||
|
# 保存到文件 |
||||
|
output_path = Path(output_dir) |
||||
|
output_path.mkdir(parents=True, exist_ok=True) |
||||
|
|
||||
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") |
||||
|
category_suffix = f"_{category}" if category else "" |
||||
|
json_file = output_path / f"douyin_creative_guidance{category_suffix}_{timestamp}.json" |
||||
|
|
||||
|
result_data = { |
||||
|
'page_url': url, |
||||
|
'page_title': '抖音创作指导 - 热门视频', |
||||
|
'category': category or '全部', |
||||
|
'platform': 'douyin', |
||||
|
'crawl_time': datetime.now().isoformat(), |
||||
|
'total_videos': len(data['videos']), |
||||
|
'videos': data['videos'] |
||||
|
} |
||||
|
|
||||
|
with open(json_file, "w", encoding="utf-8") as f: |
||||
|
json.dump(result_data, f, ensure_ascii=False, indent=2) |
||||
|
|
||||
|
return data |
||||
|
|
||||
|
finally: |
||||
|
await browser.close() |
||||
|
|
||||
|
|
||||
|
@app.post("/api/creative-guidance", response_model=CreativeGuidanceResponse) |
||||
|
async def get_creative_guidance(request: CreativeGuidanceRequest): |
||||
|
""" |
||||
|
获取抖音创作指导数据 |
||||
|
|
||||
|
- **category**: 分类标签(全部/美食/旅行/泛生活/汽车/科技/游戏/二次元),默认"全部" |
||||
|
- **headless**: 是否使用无头模式,默认True |
||||
|
- **cookie_file**: Cookie文件路径 |
||||
|
- **output_dir**: 输出目录 |
||||
|
""" |
||||
|
try: |
||||
|
# 检查Cookie文件 |
||||
|
if not Path(request.cookie_file).exists(): |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=f"Cookie文件不存在: {request.cookie_file}" |
||||
|
) |
||||
|
|
||||
|
# 抓取数据 |
||||
|
data = await crawl_creative_guidance_api( |
||||
|
category=request.category, |
||||
|
headless=request.headless, |
||||
|
cookie_file=request.cookie_file, |
||||
|
output_dir=request.output_dir |
||||
|
) |
||||
|
|
||||
|
if not data or data['total'] == 0: |
||||
|
return CreativeGuidanceResponse( |
||||
|
success=False, |
||||
|
category=request.category, |
||||
|
total_count=0, |
||||
|
videos=[], |
||||
|
page_url="https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
crawl_time=datetime.now().isoformat(), |
||||
|
message="未获取到任何视频数据,请确保已登录并且页面加载完成" |
||||
|
) |
||||
|
|
||||
|
return CreativeGuidanceResponse( |
||||
|
success=True, |
||||
|
category=request.category, |
||||
|
total_count=data['total'], |
||||
|
videos=data['videos'], |
||||
|
page_url=data['pageUrl'], |
||||
|
crawl_time=data['crawlTime'], |
||||
|
message=f"成功获取 {data['total']} 个视频" |
||||
|
) |
||||
|
|
||||
|
except Exception as e: |
||||
|
raise HTTPException(status_code=500, detail=f"获取创作指导数据时出错: {str(e)}") |
||||
|
|
||||
|
|
||||
|
@app.post("/api/search", response_model=SearchResponse) |
||||
|
async def search_douyin(request: SearchRequest): |
||||
|
""" |
||||
|
搜索抖音视频 |
||||
|
|
||||
|
- **keyword**: 搜索关键词(必填) |
||||
|
- **max_scroll**: 最大滚动次数,默认5次 |
||||
|
- **headless**: 是否使用无头模式,默认True |
||||
|
- **cookie_file**: Cookie文件路径 |
||||
|
""" |
||||
|
crawler = DouyinSearchCrawler(headless=request.headless) |
||||
|
|
||||
|
try: |
||||
|
# 初始化浏览器 |
||||
|
await crawler.init_browser() |
||||
|
|
||||
|
# 加载cookies |
||||
|
cookie_loaded = await crawler.load_cookies(request.cookie_file) |
||||
|
if not cookie_loaded: |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=f"无法加载Cookie文件: {request.cookie_file}" |
||||
|
) |
||||
|
|
||||
|
# 搜索视频 |
||||
|
videos = await crawler.search_videos(request.keyword, max_scroll=request.max_scroll) |
||||
|
|
||||
|
if not videos: |
||||
|
return SearchResponse( |
||||
|
success=False, |
||||
|
keyword=request.keyword, |
||||
|
total_count=0, |
||||
|
videos=[], |
||||
|
message="未获取到任何视频数据" |
||||
|
) |
||||
|
|
||||
|
# 保存结果 |
||||
|
await crawler.save_results(request.keyword, videos) |
||||
|
|
||||
|
return SearchResponse( |
||||
|
success=True, |
||||
|
keyword=request.keyword, |
||||
|
total_count=len(videos), |
||||
|
videos=videos, |
||||
|
message="搜索成功" |
||||
|
) |
||||
|
|
||||
|
except Exception as e: |
||||
|
raise HTTPException(status_code=500, detail=f"搜索过程中出错: {str(e)}") |
||||
|
|
||||
|
finally: |
||||
|
await crawler.close() |
||||
|
|
||||
|
|
||||
|
@app.post("/api/analyze", response_model=AnalyzeResponse) |
||||
|
async def analyze_videos(request: AnalyzeRequest): |
||||
|
""" |
||||
|
使用AI分析视频数据 |
||||
|
|
||||
|
- **videos**: 视频数据列表(必填) |
||||
|
- **prompt_file**: 提示词文件路径,默认"prompts/analyze_prompt.md" |
||||
|
- **custom_instruction**: 自定义分析指令(可选) |
||||
|
- **model**: 使用的模型名称,默认"qwen-plus" |
||||
|
- **api_key**: 阿里云百炼API Key(可选,默认从环境变量DASHSCOPE_API_KEY读取) |
||||
|
""" |
||||
|
try: |
||||
|
# 检查提示词文件 |
||||
|
if not Path(request.prompt_file).exists(): |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=f"提示词文件不存在: {request.prompt_file}" |
||||
|
) |
||||
|
|
||||
|
# 创建分析器 |
||||
|
try: |
||||
|
analyzer = AIAnalyzer(api_key=request.api_key, model=request.model) |
||||
|
except ValueError as e: |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=str(e) |
||||
|
) |
||||
|
|
||||
|
# 分析数据 |
||||
|
result = analyzer.analyze( |
||||
|
videos=request.videos, |
||||
|
prompt_file=request.prompt_file, |
||||
|
custom_instruction=request.custom_instruction |
||||
|
) |
||||
|
|
||||
|
return AnalyzeResponse(**result) |
||||
|
|
||||
|
except HTTPException: |
||||
|
raise |
||||
|
except Exception as e: |
||||
|
raise HTTPException(status_code=500, detail=f"分析过程中出错: {str(e)}") |
||||
|
|
||||
|
|
||||
|
@app.post("/api/analyze-file", response_model=AnalyzeResponse) |
||||
|
async def analyze_from_file(request: AnalyzeFileRequest): |
||||
|
""" |
||||
|
从JSON文件读取数据并使用AI分析 |
||||
|
|
||||
|
- **json_file**: JSON数据文件路径(必填) |
||||
|
- **prompt_file**: 提示词文件路径,默认"prompts/analyze_prompt.md" |
||||
|
- **custom_instruction**: 自定义分析指令(可选) |
||||
|
- **model**: 使用的模型名称,默认"qwen-plus" |
||||
|
- **api_key**: 阿里云百炼API Key(可选,默认从环境变量DASHSCOPE_API_KEY读取) |
||||
|
""" |
||||
|
try: |
||||
|
# 检查文件 |
||||
|
if not Path(request.json_file).exists(): |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=f"JSON文件不存在: {request.json_file}" |
||||
|
) |
||||
|
|
||||
|
if not Path(request.prompt_file).exists(): |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=f"提示词文件不存在: {request.prompt_file}" |
||||
|
) |
||||
|
|
||||
|
# 创建分析器 |
||||
|
try: |
||||
|
analyzer = AIAnalyzer(api_key=request.api_key, model=request.model) |
||||
|
except ValueError as e: |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=str(e) |
||||
|
) |
||||
|
|
||||
|
# 分析数据 |
||||
|
result = analyzer.analyze_from_file( |
||||
|
json_file=request.json_file, |
||||
|
prompt_file=request.prompt_file, |
||||
|
custom_instruction=request.custom_instruction |
||||
|
) |
||||
|
|
||||
|
return AnalyzeResponse(**result) |
||||
|
|
||||
|
except HTTPException: |
||||
|
raise |
||||
|
except Exception as e: |
||||
|
raise HTTPException(status_code=500, detail=f"分析过程中出错: {str(e)}") |
||||
|
|
||||
|
|
||||
|
@app.post("/api/agent", response_model=AgentResponse) |
||||
|
async def run_agent(request: AgentRequest): |
||||
|
""" |
||||
|
运行AI智能代理 - 创作灵感生成 |
||||
|
|
||||
|
AI代理会根据用户描述自动: |
||||
|
1. 理解用户需求并提取内容分类 |
||||
|
2. 获取相关的热门视频数据 |
||||
|
3. 生成9个具体可执行的创作灵感 |
||||
|
4. 如果用户不满意,可以获取更多灵感 |
||||
|
|
||||
|
**支持的内容分类**(共26个): |
||||
|
- 美食、旅行、泛生活、汽车、科技、游戏、二次元 |
||||
|
- 娱乐、明星、体育、文化教育、校园、政务 |
||||
|
- 时尚、才艺、随拍、动植物、图文控 |
||||
|
- 剧情、亲子、三农、创意、户外、公益 |
||||
|
|
||||
|
**参数**: |
||||
|
- **query**: 用户描述(必填),例如: |
||||
|
- "我想做一些美食相关的短视频,主要是家常菜的制作教程" |
||||
|
- "我想拍一些关于大学生活的有趣视频,记录校园日常" |
||||
|
- "我想做一些关于健身的短视频,分享简单的居家锻炼方法" |
||||
|
- **system_prompt_file**: 系统提示词文件,默认"prompts/agent_prompt.md" |
||||
|
- **max_iterations**: 最大迭代次数,默认10(建议设置为15以支持完整流程) |
||||
|
- **model**: 使用的模型名称,默认"qwen-plus" |
||||
|
- **api_key**: 阿里云百炼API Key(可选) |
||||
|
|
||||
|
**返回**: |
||||
|
- 识别的内容分类 |
||||
|
- 9个创作灵感(包含标题、核心创意、执行建议、热门标签) |
||||
|
- 创作提示和建议 |
||||
|
|
||||
|
**示例**: |
||||
|
```json |
||||
|
{ |
||||
|
"query": "我想做一些美食相关的短视频,主要是家常菜的制作教程", |
||||
|
"max_iterations": 15 |
||||
|
} |
||||
|
``` |
||||
|
""" |
||||
|
try: |
||||
|
# 检查提示词文件 |
||||
|
if not Path(request.system_prompt_file).exists(): |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=f"系统提示词文件不存在: {request.system_prompt_file}" |
||||
|
) |
||||
|
|
||||
|
# 创建代理 |
||||
|
try: |
||||
|
agent = create_agent() |
||||
|
if request.api_key: |
||||
|
agent.api_key = request.api_key |
||||
|
import dashscope |
||||
|
dashscope.api_key = request.api_key |
||||
|
agent.model = request.model |
||||
|
except ValueError as e: |
||||
|
raise HTTPException( |
||||
|
status_code=400, |
||||
|
detail=str(e) |
||||
|
) |
||||
|
|
||||
|
# 运行代理 |
||||
|
result = await agent.run( |
||||
|
user_input=request.query, |
||||
|
system_prompt_file=request.system_prompt_file, |
||||
|
max_iterations=request.max_iterations |
||||
|
) |
||||
|
|
||||
|
return AgentResponse( |
||||
|
success=result["success"], |
||||
|
final_answer=result.get("final_answer"), |
||||
|
iteration=result["iteration"], |
||||
|
tool_calls=result.get("tool_calls", []), |
||||
|
error=result.get("error") |
||||
|
) |
||||
|
|
||||
|
except HTTPException: |
||||
|
raise |
||||
|
except Exception as e: |
||||
|
raise HTTPException(status_code=500, detail=f"Agent执行过程中出错: {str(e)}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
import uvicorn |
||||
|
uvicorn.run(app, host="0.0.0.0", port=8001) |
||||
@ -0,0 +1,555 @@ |
|||||
|
{ |
||||
|
"keyword": "校园", |
||||
|
"crawl_time": "2026-01-07 17:39:47", |
||||
|
"total_count": 40, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7172035966444637443", |
||||
|
"title": "盘点那些回不去的校园时光,至我们终将逝去的青春回忆 #校园回忆 #回忆青春 #青春校园", |
||||
|
"author": "迷惑菌呀3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:05", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园回忆", |
||||
|
"回忆青春", |
||||
|
"青春校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7218891364518399284", |
||||
|
"title": "下个夏天,教室里仍会坐满人,只不过不再是我们了。#毕业季青春不散场#一招拍出电影感 #校园短片", |
||||
|
"author": "大熊老湿2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业季青春不散场", |
||||
|
"一招拍出电影感", |
||||
|
"校园短片" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7438217050587286843", |
||||
|
"title": "那些年,我们的青春 #学生时代的回忆 #高中时代 #校园生活", |
||||
|
"author": "你的老朋友1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的回忆", |
||||
|
"高中时代", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7325382618403392803", |
||||
|
"title": "“青春本就是马不停蹄的相遇和错过,遗憾是常有的吧!”#青春 #校园回忆 #白月光 #遗憾是常有的吧 #青春的样子", |
||||
|
"author": "呜呼来了1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"校园回忆", |
||||
|
"白月光", |
||||
|
"遗憾是常有的吧", |
||||
|
"青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7289778348463492392", |
||||
|
"title": "几个镜头教会你,情绪小短片,那年夏天青春已经不在了#教你如何拍出情绪小短片#大学校园 #大学", |
||||
|
"author": "甜甜手机摄影2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"教你如何拍出情绪小短片", |
||||
|
"大学校园", |
||||
|
"大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474992520179535140", |
||||
|
"title": "#学生时代的高甜瞬间 #独属于学生时代的魅力 #那些属于学生时代的小确幸 #上学时代的我们 #很火的校园剧推荐", |
||||
|
"author": "最美声音10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的高甜瞬间", |
||||
|
"独属于学生时代的魅力", |
||||
|
"那些属于学生时代的小确幸", |
||||
|
"上学时代的我们", |
||||
|
"很火的校园剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474711453858106683", |
||||
|
"title": "“我的青春回头看了我一眼,像是在跟我告别”#毕业季", |
||||
|
"author": "山晚10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:19", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7402200134072667429", |
||||
|
"title": "当你的学校非常非常大 #内容过于真实 #岱岱的猫 #真实还原 #大学生 #原创搞笑", |
||||
|
"author": "岱岱的猫1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:59", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"内容过于真实", |
||||
|
"岱岱的猫", |
||||
|
"真实还原", |
||||
|
"大学生", |
||||
|
"原创搞笑" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7478303656022920484", |
||||
|
"title": "青春本来就是马不停蹄的错过和遇见 #校园生活碎片 #班主任视角里的学生 #独属于学生时代的魅力 #学生时代", |
||||
|
"author": "升学规划【大可】老师10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:01", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活碎片", |
||||
|
"班主任视角里的学生", |
||||
|
"独属于学生时代的魅力", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7475518626418806050", |
||||
|
"title": "青春校园影,拼凑起那回不去的盛夏 #校园生活 #学生时代 #熟悉的课堂氛围又回来了 #记录校园生活", |
||||
|
"author": "DOU+小助手", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:22", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"学生时代", |
||||
|
"熟悉的课堂氛围又回来了", |
||||
|
"记录校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7496789805989645594", |
||||
|
"title": "一波一折…两折…三折… #真实还原 #学生时代 #恐怖瞬间 #校园里的精选", |
||||
|
"author": "叮叮喵dxy8月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:55", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"真实还原", |
||||
|
"学生时代", |
||||
|
"恐怖瞬间", |
||||
|
"校园里的精选" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7108352570573262116", |
||||
|
"title": "这个夏天结束的不止是高考还有青春! #青春的样子 #高中生活 #校园生活", |
||||
|
"author": "八点笑话3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春的样子", |
||||
|
"高中生活", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7347298965345307916", |
||||
|
"title": "#这就是青春吗 他们在青春时光里肆意跳舞的氛围感绝了!!!#校园 #青春 #高中生 #enhypen", |
||||
|
"author": "会火大明星1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:31", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这就是青春吗", |
||||
|
"校园", |
||||
|
"青春", |
||||
|
"高中生", |
||||
|
"enhypen" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7372513641561656630", |
||||
|
"title": "“我一读再读 不得不承认青春是一本太仓促的书”\n #毕业季 #学生时代 #校园生活 #最难忘的瞬间", |
||||
|
"author": "卡西1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:02", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业季", |
||||
|
"学生时代", |
||||
|
"校园生活", |
||||
|
"最难忘的瞬间" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7475104852180258108", |
||||
|
"title": "青春是那么的美好!再也回不去了!校园生活 #独属于学生时代的魅力 #以梦为马不负韶华 #上学时代的我们", |
||||
|
"author": "全球官察10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"独属于学生时代的魅力", |
||||
|
"以梦为马不负韶华", |
||||
|
"上学时代的我们" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7337137556309495080", |
||||
|
"title": "“同学,你在干嘛” #娱乐评论大赏 #校园生活 #上学时代的我们 #青春", |
||||
|
"author": "椰椰娱乐time1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:26", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"娱乐评论大赏", |
||||
|
"校园生活", |
||||
|
"上学时代的我们", |
||||
|
"青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7518369429551631675", |
||||
|
"title": "人在教室坐,盖从天上来。安静的教室,水杯盖子突然弹起打到一位同学,这一刻,所有人都抬起来了头……(来源: )#青春的样子 #美好#青春校园", |
||||
|
"author": "栗子允^", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:26", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春的样子", |
||||
|
"美好", |
||||
|
"青春校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7225178492835614007", |
||||
|
"title": "盘点各大院校的运动会的硬核开幕式,最后那个体操老师太美了#这才是青春该有的样子 #校运会开幕式 #运动会开幕式", |
||||
|
"author": "渐笑了(收徒中)2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:32", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这才是青春该有的样子", |
||||
|
"校运会开幕式", |
||||
|
"运动会开幕式" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7324337496152640787", |
||||
|
"title": "#青春时代 #校园 快门按下的瞬间,便是永恒#学生 #学生时代最美好的瞬间", |
||||
|
"author": "会火1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春时代", |
||||
|
"校园", |
||||
|
"学生", |
||||
|
"学生时代最美好的瞬间" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7475343207904185615", |
||||
|
"title": "这是我们的青春啊#回忆 #上学时代的我们 #后 #学生时代 #那些年那些人", |
||||
|
"author": "老男孩", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"回忆", |
||||
|
"上学时代的我们", |
||||
|
"后", |
||||
|
"学生时代", |
||||
|
"那些年那些人" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7250108004115303715", |
||||
|
"title": "“一边是职责,一边是兄弟。”#校园 #拍出电影感 #学生时代", |
||||
|
"author": "俊鸿2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:20", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"拍出电影感", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519366264608902451", |
||||
|
"title": "#校园vlog 花有重开日,人无再少年。#校园 #学生时代 #期末倒计时", |
||||
|
"author": "随心-拍摄📷6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"校园", |
||||
|
"学生时代", |
||||
|
"期末倒计时" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7525761710649855247", |
||||
|
"title": "学校和“学校”的区别 #内容过于真实 #高中 #初中生 #服从性测试", |
||||
|
"author": "润了润5月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:37", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"内容过于真实", |
||||
|
"高中", |
||||
|
"初中生", |
||||
|
"服从性测试" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7382557902906690816", |
||||
|
"title": "“原来最想逃离的地方,现在才知道那是最幸福的地方”#青春 #青春校园 #这大概就是青春的样子", |
||||
|
"author": "快乐君1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:46", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"青春校园", |
||||
|
"这大概就是青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7497083984670674195", |
||||
|
"title": "从亲密无间,到穷途末路!#校园 #青春 #遗憾 #学生 #纯真", |
||||
|
"author": "一树一菩提8月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"青春", |
||||
|
"遗憾", |
||||
|
"学生", |
||||
|
"纯真" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7371740936616856882", |
||||
|
"title": "别人的大学校区vs你的大学校区~#内容过于真实 #大学 #太真实了 #学生时代", |
||||
|
"author": "连发儿1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:21", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"内容过于真实", |
||||
|
"大学", |
||||
|
"太真实了", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7523654271024368936", |
||||
|
"title": "#校园生活#真实还原#学生时代#校园#上课日常", |
||||
|
"author": "DOU+上热门", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:57", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"真实还原", |
||||
|
"学生时代", |
||||
|
"校园", |
||||
|
"上课日常" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7032988576023465256", |
||||
|
"title": "#混剪 “怪不得人们说青春是轰轰烈烈的,轰轰烈烈这四个字,一听就是团体作案”\n#校园 #青春", |
||||
|
"author": "楠山茶茶4年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"混剪", |
||||
|
"校园", |
||||
|
"青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7486851074133937468", |
||||
|
"title": "飞鸟与鱼不同路,从此山水不相逢…#这大概就是青春的样子 #校园 #记录校园时光", |
||||
|
"author": "星雨9月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这大概就是青春的样子", |
||||
|
"校园", |
||||
|
"记录校园时光" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7316429152385518902", |
||||
|
"title": "当时都觉得只是个平常的下午#毕业季 #大学生 #青春 #校园", |
||||
|
"author": "娱乐狸花酱2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:31", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业季", |
||||
|
"大学生", |
||||
|
"青春", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7201470269616049446", |
||||
|
"title": "盘点那些美好的校园时光,校园时代回忆录,至我们终将逝去的青春#这大概就是青春的样子 #学生时代 #校园 #还记得你曾经的同桌吗 #高中生", |
||||
|
"author": "皮皮爆笑社2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:44", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这大概就是青春的样子", |
||||
|
"学生时代", |
||||
|
"校园", |
||||
|
"还记得你曾经的同桌吗", |
||||
|
"高中生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7158765180044774670", |
||||
|
"title": "这学生会查的是卫生吗?这查的是人情世故啊! #学生会 #青春校园 #可爱的学生", |
||||
|
"author": "英该德3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:07", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生会", |
||||
|
"青春校园", |
||||
|
"可爱的学生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7367323066621283623", |
||||
|
"title": "这才是我该上的学! #高中 #校园生活 #青春 #青岛二中 #幸福", |
||||
|
"author": "萤火虫娱乐1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:28", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高中", |
||||
|
"校园生活", |
||||
|
"青春", |
||||
|
"青岛二中", |
||||
|
"幸福" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7310150533464083746", |
||||
|
"title": "城少的人情世故太好了\n#趣dou校园 #当代学生现状 #上学那些囧事", |
||||
|
"author": "姜洁2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:00", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"趣dou校园", |
||||
|
"当代学生现状", |
||||
|
"上学那些囧事" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7523085726441229627", |
||||
|
"title": "原来最想逃离的地方,现在才知道那是最幸福的地方! #最完美盛夏 #回不去的青春 #校园回忆 #学生时代", |
||||
|
"author": "军事观察6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:04", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"最完美盛夏", |
||||
|
"回不去的青春", |
||||
|
"校园回忆", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7201461246435134724", |
||||
|
"title": "致我们终将逝去的青春!盘点青春校园的美好瞬间!#这大概就是青春的样子 #校园 #学生时代 #再也回不去的青春", |
||||
|
"author": "笑口常开吧2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这大概就是青春的样子", |
||||
|
"校园", |
||||
|
"学生时代", |
||||
|
"再也回不去的青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7394482401562365195", |
||||
|
"title": "“我们无法同时拥有青春和对青春的感受”#青春校园 #学生时代 #校园生活", |
||||
|
"author": "青春回忆录1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春校园", |
||||
|
"学生时代", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7212207116562599223", |
||||
|
"title": "盘点那些美好的校园时光,致我们终将逝去的青春#校园 #这大概就是青春的样子 #学生时代", |
||||
|
"author": "爆笑菌呀2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"这大概就是青春的样子", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/6910030303704796430", |
||||
|
"title": "校园青春短片《年少有为》,说的是别人,映照的其实是自己。 #高清短片 #励志青春", |
||||
|
"author": "张弛有道5年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:57", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高清短片", |
||||
|
"励志青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7484948568009182524", |
||||
|
"title": "#上学时代的我们 #独属于学生时代的魅力 #仿佛看到了上学时的自己 #属于自己的校园记忆", |
||||
|
"author": "小诺视频9月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:03", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"上学时代的我们", |
||||
|
"独属于学生时代的魅力", |
||||
|
"仿佛看到了上学时的自己", |
||||
|
"属于自己的校园记忆" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,543 @@ |
|||||
|
{ |
||||
|
"keyword": "游戏", |
||||
|
"crawl_time": "2026-01-06 16:33:14", |
||||
|
"total_count": 40, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591072408623238442", |
||||
|
"title": "千禧年到底发生了什么? #游戏 #单机游戏 #千禧失乐园 #青年创作者成长计划", |
||||
|
"author": "超稽阿威", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "17:02", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"单机游戏", |
||||
|
"千禧失乐园", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591164813637341925", |
||||
|
"title": "#兵器王者 #抖音小游戏 #沉浸式解压#锻刀大师#小游戏", |
||||
|
"author": "全是活儿", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "08:02", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"兵器王者", |
||||
|
"抖音小游戏", |
||||
|
"沉浸式解压", |
||||
|
"锻刀大师", |
||||
|
"小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591105566840261907", |
||||
|
"title": "【steam冬促】拒绝盲买!这几款游戏,买了就是赚! 喜欢我推荐的游戏吗,可以给视频来点免费的赞哦,赶快分享给你的朋友让他去买,月日就结束了 #抖音升级计划 #青年创作者成长计划 #steam冬促 #游戏推荐 #抖音创作季", |
||||
|
"author": "桐游一(steam游戏区)", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "04:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"抖音升级计划", |
||||
|
"青年创作者成长计划", |
||||
|
"steam冬促", |
||||
|
"游戏推荐", |
||||
|
"抖音创作季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591797764325952802", |
||||
|
"title": "#游戏 #游戏日常 #游戏精彩时刻 #游戏解说", |
||||
|
"author": "游戏天才", |
||||
|
"publishTime": "6小时前", |
||||
|
"duration": "30:30", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"游戏日常", |
||||
|
"游戏精彩时刻", |
||||
|
"游戏解说" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591253851454311707", |
||||
|
"title": "当作者把经费全花在动作上时会做出怎样的游戏? 一口气看完《当心那个梦游者》系列前三部全结局实况#恐怖游戏 #青年创作者成长计划", |
||||
|
"author": "奶油蛋糕🍰", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "28:22", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"恐怖游戏", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591350634624912690", |
||||
|
"title": "今日限高 直线加速赛kmh #steam游戏#车祸模拟器#主机游戏#赛车游戏#模拟器", |
||||
|
"author": "BeamNG", |
||||
|
"publishTime": "77472天前", |
||||
|
"duration": "08:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"车祸模拟器", |
||||
|
"主机游戏", |
||||
|
"赛车游戏", |
||||
|
"模拟器" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591374356022824230", |
||||
|
"title": "个烧脑小游戏 #知识 #烧脑游戏", |
||||
|
"author": "独断的睡梦", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"知识", |
||||
|
"烧脑游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591925143799188778", |
||||
|
"title": "盗版游戏近期植入挖矿木马 火速自查 谨防赛博花柳 #Steam游戏 #Steam #游戏鉴赏家 #新游鉴赏家", |
||||
|
"author": "Will游戏堂", |
||||
|
"publishTime": "8小时前", |
||||
|
"duration": "00:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"Steam游戏", |
||||
|
"Steam", |
||||
|
"游戏鉴赏家", |
||||
|
"新游鉴赏家" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591435347175673122", |
||||
|
"title": "#steam游戏 #游戏解说 #游戏怪谈 #游戏日常 #游戏精彩时刻", |
||||
|
"author": "一块吐司", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "31:37", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏解说", |
||||
|
"游戏怪谈", |
||||
|
"游戏日常", |
||||
|
"游戏精彩时刻" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591002666147739641", |
||||
|
"title": "太好了潜水员戴夫手机版他来了 #潜水员戴夫#taptap试玩节#taptap发现好游戏", |
||||
|
"author": "千语要发光", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"潜水员戴夫", |
||||
|
"taptap试玩节", |
||||
|
"taptap发现好游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591832463584859590", |
||||
|
"title": "进入一款游戏存活一年,得到亿美元 #解压 #ai #AI创作浪潮计划 #游戏 #生存游戏", |
||||
|
"author": "IF", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "01:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"解压", |
||||
|
"ai", |
||||
|
"AI创作浪潮计划", |
||||
|
"游戏", |
||||
|
"生存游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591431016864381297", |
||||
|
"title": "盘点年八款必玩价格的双人合作新游!全都是精挑细选,必须理会!#steam游戏 #双人游戏 #联机游戏 #游戏推荐", |
||||
|
"author": "小纯游戏", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "03:09", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"双人游戏", |
||||
|
"联机游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591634231044244473", |
||||
|
"title": "##高手躲猫猫 ##抖音小游戏 #抖音游戏推荐 #热门", |
||||
|
"author": "上热门🔥🔥🔥", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "05:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高手躲猫猫", |
||||
|
"抖音小游戏", |
||||
|
"抖音游戏推荐", |
||||
|
"热门" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591106651701136686", |
||||
|
"title": "Steam冬促最后两天!一折以下游戏大盘点! #steam游戏 #联机游戏 #主机游戏 #多人联机 #游戏推荐", |
||||
|
"author": "EPIC游戏狂人", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:55", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"多人联机", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591388896710118708", |
||||
|
"title": "为什么有些公认好玩的游戏,我就是玩不下去? #游戏杂谈 #还得是主机大作 #A游戏", |
||||
|
"author": "硬核豆浆", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "05:01", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏杂谈", |
||||
|
"还得是主机大作", |
||||
|
"A游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591376743877856566", |
||||
|
"title": "块钱掰成块花,推荐steam款超值游戏 #steam游戏 #游戏推荐 #还得是主机大作", |
||||
|
"author": "游戏老冰棍", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "10:14", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏推荐", |
||||
|
"还得是主机大作" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591215185164111104", |
||||
|
"title": "建议收藏!年必玩的款顶级A 第二期 TOP 虽然R星很有可能跳票,但看了这款游戏,我发现:没有GTA,玩家真的照样玩的爽!\n国产A能不能在这个窗口期扛起大旗?老牌大厂是靠情怀续命还是绝地反击?这场“豪赌”,赌上的不仅仅是你的钱包,更是这些大厂的命!。#steam游戏 #游戏推荐 #显卡在燃烧 #还得是主机大作 #游戏内容风向标", |
||||
|
"author": "ETGO_游戏前哨站", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "12:13", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏推荐", |
||||
|
"显卡在燃烧", |
||||
|
"还得是主机大作", |
||||
|
"游戏内容风向标" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591796590017285414", |
||||
|
"title": "switch解压治愈游戏!《尼克德里克:魔法世界》 #尼克德里克 #switch游戏推荐 #双人游戏 #主机游戏", |
||||
|
"author": "魔力游(switch游戏推荐)", |
||||
|
"publishTime": "1小时前", |
||||
|
"duration": "03:00", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"尼克德里克", |
||||
|
"switch游戏推荐", |
||||
|
"双人游戏", |
||||
|
"主机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591811458604013002", |
||||
|
"title": "盘点童年最经典的四款游戏,让人泪目~#游戏 #怀旧游戏 #童年回忆 #steam游戏 #游戏推荐", |
||||
|
"author": "游戏小铁子", |
||||
|
"publishTime": "22小时前", |
||||
|
"duration": "02:04", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"怀旧游戏", |
||||
|
"童年回忆", |
||||
|
"steam游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591847232464216457", |
||||
|
"title": "这游戏太适合捏OC了…完全治愈系小王子画风! \n#lovania #oc #好玩的模拟经营游戏 #装修游戏 #联机游戏", |
||||
|
"author": "游戏姬Yiziki", |
||||
|
"publishTime": "20小时前", |
||||
|
"duration": "01:37", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"lovania", |
||||
|
"oc", |
||||
|
"好玩的模拟经营游戏", |
||||
|
"装修游戏", |
||||
|
"联机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591468941144320410", |
||||
|
"title": "谁才是最狠的年度氪金游戏? #手机游戏 #手游流水 #氪金 #氪金玩家 #游戏充值", |
||||
|
"author": "巅峰核桃", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "00:39", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"手机游戏", |
||||
|
"手游流水", |
||||
|
"氪金", |
||||
|
"氪金玩家", |
||||
|
"游戏充值" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591449618207001883", |
||||
|
"title": "个可操控女性角色游戏 #游戏女主 #游戏女性角色 #单机游戏", |
||||
|
"author": "熙元莱", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "20:16", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"游戏女主", |
||||
|
"游戏女性角色", |
||||
|
"单机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7529848208714747182", |
||||
|
"title": "最快速度合成人类 #召唤神鲲万宁大招版 #抖音小游戏 #这个游戏很好玩", |
||||
|
"author": "游戏大聪明5月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:07", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"召唤神鲲万宁大招版", |
||||
|
"抖音小游戏", |
||||
|
"这个游戏很好玩" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7426235632797699347", |
||||
|
"title": "奇葩游戏:进入到巨人的肚子里!然后去帮他治病?恐怖巨人 #恐怖游戏 #单机游戏", |
||||
|
"author": "一只小地瓜呀1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"恐怖游戏", |
||||
|
"单机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7229995165614607656", |
||||
|
"title": "#海底大猎杀小游戏#游戏解说", |
||||
|
"author": "鲨鱼游戏酱2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:46", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"海底大猎杀小游戏", |
||||
|
"游戏解说" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7104490300575452420", |
||||
|
"title": "#小游戏#小朋友 #鲨鱼游戏", |
||||
|
"author": "小游戏白菜子3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:36", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"小游戏", |
||||
|
"小朋友", |
||||
|
"鲨鱼游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7092755641000905992", |
||||
|
"title": "#游戏解说 #游戏#游戏推荐", |
||||
|
"author": "小五游戏3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:39", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏解说", |
||||
|
"游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591796961624345919", |
||||
|
"title": "一个人玩是恐怖游戏,一群人玩就是恐怖大逃杀#游戏 #REPO", |
||||
|
"author": "庭树沐年", |
||||
|
"publishTime": "23小时前", |
||||
|
"duration": "01:07", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"REPO" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7395137891246034213", |
||||
|
"title": "放开英雄#游戏 #这个游戏很好玩 #游戏日常", |
||||
|
"author": "土豆小游戏1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:52", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"这个游戏很好玩", |
||||
|
"游戏日常" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7116814521720720681", |
||||
|
"title": "原来还能这么玩!?#贪吃的苹果蛇 #抖音小游戏 #解压小游戏 #搞笑 #栓q", |
||||
|
"author": "雪糕与贝壳🍰3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"贪吃的苹果蛇", |
||||
|
"抖音小游戏", |
||||
|
"解压小游戏", |
||||
|
"搞笑", |
||||
|
"栓q" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7081086551987391781", |
||||
|
"title": "小游戏#游戏", |
||||
|
"author": "游戏小淘气3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7116481635054406944", |
||||
|
"title": "#合成神龙 #抖音小游戏 #这个游戏很好玩 #学生党", |
||||
|
"author": "小新玩游戏3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:44", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"合成神龙", |
||||
|
"抖音小游戏", |
||||
|
"这个游戏很好玩", |
||||
|
"学生党" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7389258998156938511", |
||||
|
"title": "#进击的蝌蚪 #抖音小游戏 #快来和我一起玩吧 #这个游戏很好玩 #消磨时间的游戏推荐", |
||||
|
"author": "小萝卜玩游戏1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"进击的蝌蚪", |
||||
|
"抖音小游戏", |
||||
|
"快来和我一起玩吧", |
||||
|
"这个游戏很好玩", |
||||
|
"消磨时间的游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7085179621955603726", |
||||
|
"title": "小游戏#游戏", |
||||
|
"author": "游戏小淘气3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:37", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7104220496262139144", |
||||
|
"title": "小游戏#游戏", |
||||
|
"author": "游戏小淘气3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:32", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7258241941157039421", |
||||
|
"title": "小游戏,游戏#休闲益智小游戏 #解压小游戏 #游戏 #游戏日常 #浩然游戏推荐", |
||||
|
"author": "浩然游戏推荐2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"休闲益智小游戏", |
||||
|
"解压小游戏", |
||||
|
"游戏", |
||||
|
"游戏日常", |
||||
|
"浩然游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7113534120256376072", |
||||
|
"title": "#贪吃的苹果蛇 一次抗住九个毒苹果,这关我过定了 #抖音小游戏 #游戏精选", |
||||
|
"author": "阿泽不吃鱼3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:01", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"贪吃的苹果蛇", |
||||
|
"抖音小游戏", |
||||
|
"游戏精选" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7304858170122308891", |
||||
|
"title": "游戏推荐游戏", |
||||
|
"author": "张半仙游戏直播2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:48", |
||||
|
"playCount": "0", |
||||
|
"tags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7290222008191831311", |
||||
|
"title": "游戏#游戏日常 #游戏", |
||||
|
"author": "迦迪来了2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏日常", |
||||
|
"游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7281818417194110243", |
||||
|
"title": "游戏#游戏日常 #游戏", |
||||
|
"author": "迦迪来了2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏日常", |
||||
|
"游戏" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,415 @@ |
|||||
|
{ |
||||
|
"keyword": "游戏", |
||||
|
"crawl_time": "2026-01-06 18:15:04", |
||||
|
"total_count": 29, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591164813637341925", |
||||
|
"title": "#兵器王者 #抖音小游戏 #沉浸式解压#锻刀大师#小游戏", |
||||
|
"author": "全是活儿", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "08:02", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"兵器王者", |
||||
|
"抖音小游戏", |
||||
|
"沉浸式解压", |
||||
|
"锻刀大师", |
||||
|
"小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591430327407594806", |
||||
|
"title": "全部多人联机!Steam冬促最后两天!寒假有得玩啦 #steam游戏 #联机游戏 #主机游戏 #多人联机 #游戏推荐", |
||||
|
"author": "老蒜名游堂", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:48", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"多人联机", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591435347175673122", |
||||
|
"title": "#steam游戏 #游戏解说 #游戏怪谈 #游戏日常 #游戏精彩时刻", |
||||
|
"author": "一块吐司", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "31:37", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏解说", |
||||
|
"游戏怪谈", |
||||
|
"游戏日常", |
||||
|
"游戏精彩时刻" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591253851454311707", |
||||
|
"title": "当作者把经费全花在动作上时会做出怎样的游戏? 一口气看完《当心那个梦游者》系列前三部全结局实况#恐怖游戏 #青年创作者成长计划", |
||||
|
"author": "奶油蛋糕🍰", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "28:22", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"恐怖游戏", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591550433458457892", |
||||
|
"title": "这游戏太好玩了 #兄弟们开炮#抖音小游戏", |
||||
|
"author": "老向", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "10:33", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"兄弟们开炮", |
||||
|
"抖音小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591925143799188778", |
||||
|
"title": "盗版游戏近期植入挖矿木马 火速自查 谨防赛博花柳 #Steam游戏 #Steam #游戏鉴赏家 #新游鉴赏家", |
||||
|
"author": "Will游戏堂", |
||||
|
"publishTime": "10小时前", |
||||
|
"duration": "00:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"Steam游戏", |
||||
|
"Steam", |
||||
|
"游戏鉴赏家", |
||||
|
"新游鉴赏家" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591321009362341146", |
||||
|
"title": "最后三天全部一折!Steam冬促倒计时,超多的一折新史低盘点 #STEAM游戏 #单机游戏 #联机游戏 #主机游戏 #游戏推荐", |
||||
|
"author": "ADA丶爱游戏", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:31", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"STEAM游戏", |
||||
|
"单机游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591131407311153728", |
||||
|
"title": "🔥《大头盔英雄》马桶塞子还能当武器?快拉上对象玩这个游戏太有意思啦!#情侣游戏 #ps #双人游戏 #switch游戏 #游戏推荐", |
||||
|
"author": "CC和九九", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:29", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"情侣游戏", |
||||
|
"ps", |
||||
|
"双人游戏", |
||||
|
"switch游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591846195065146659", |
||||
|
"title": "见证:荒野大镖客隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客", |
||||
|
"author": "呼叫网管", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "01:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"离谱", |
||||
|
"荒野大镖客" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591350634624912690", |
||||
|
"title": "今日限高 直线加速赛kmh #steam游戏#车祸模拟器#主机游戏#赛车游戏#模拟器", |
||||
|
"author": "BeamNG", |
||||
|
"publishTime": "77472天前", |
||||
|
"duration": "08:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"车祸模拟器", |
||||
|
"主机游戏", |
||||
|
"赛车游戏", |
||||
|
"模拟器" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591374356022824230", |
||||
|
"title": "个烧脑小游戏 #知识 #烧脑游戏", |
||||
|
"author": "独断的睡梦", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "02:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"知识", |
||||
|
"烧脑游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590990223798996265", |
||||
|
"title": "多人生存建造+塔防《星际裂变》将于月号抢先上线! #steam游戏 #生存游戏 #沙盒游戏 #新游鉴赏家 #游戏推荐", |
||||
|
"author": "菜鸡游戏资讯", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:46", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"生存游戏", |
||||
|
"沙盒游戏", |
||||
|
"新游鉴赏家", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591002666147739641", |
||||
|
"title": "太好了潜水员戴夫手机版他来了 #潜水员戴夫#taptap试玩节#taptap发现好游戏", |
||||
|
"author": "千语要发光", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"潜水员戴夫", |
||||
|
"taptap试玩节", |
||||
|
"taptap发现好游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592054641102163234", |
||||
|
"title": "#steam游戏#游戏中的瞬间#猎奇#游戏怪谈", |
||||
|
"author": "旺仔小酥", |
||||
|
"publishTime": "6小时前", |
||||
|
"duration": "31:25", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏中的瞬间", |
||||
|
"猎奇", |
||||
|
"游戏怪谈" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591685446153833728", |
||||
|
"title": "#游戏#steam游戏#游戏解说#游戏怪谈#游戏精彩时刻", |
||||
|
"author": "空白题", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "40:10", |
||||
|
"playCount": "4", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"steam游戏", |
||||
|
"游戏解说", |
||||
|
"游戏怪谈", |
||||
|
"游戏精彩时刻" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591634231044244473", |
||||
|
"title": "##高手躲猫猫 ##抖音小游戏 #抖音游戏推荐 #热门", |
||||
|
"author": "上热门🔥🔥🔥", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "05:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高手躲猫猫", |
||||
|
"抖音小游戏", |
||||
|
"抖音游戏推荐", |
||||
|
"热门" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591832463584859590", |
||||
|
"title": "进入一款游戏存活一年,得到亿美元 #解压 #ai #AI创作浪潮计划 #游戏 #生存游戏", |
||||
|
"author": "IF", |
||||
|
"publishTime": "23小时前", |
||||
|
"duration": "01:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"解压", |
||||
|
"ai", |
||||
|
"AI创作浪潮计划", |
||||
|
"游戏", |
||||
|
"生存游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591388896710118708", |
||||
|
"title": "为什么有些公认好玩的游戏,我就是玩不下去? #游戏杂谈 #还得是主机大作 #A游戏", |
||||
|
"author": "硬核豆浆", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "05:01", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏杂谈", |
||||
|
"还得是主机大作", |
||||
|
"A游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591106651701136686", |
||||
|
"title": "Steam冬促最后两天!一折以下游戏大盘点! #steam游戏 #联机游戏 #主机游戏 #多人联机 #游戏推荐", |
||||
|
"author": "EPIC游戏狂人", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:55", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"多人联机", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591431016864381297", |
||||
|
"title": "盘点年八款必玩价格的双人合作新游!全都是精挑细选,必须理会!#steam游戏 #双人游戏 #联机游戏 #游戏推荐", |
||||
|
"author": "小纯游戏", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "03:09", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"双人游戏", |
||||
|
"联机游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591125837727594085", |
||||
|
"title": "-盘点最强fps游戏#fps游戏 #射击游戏推荐 #游戏盘点 #游戏杂谈 #游戏流量风向标", |
||||
|
"author": "宇文兵游戏杂谈", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"fps游戏", |
||||
|
"射击游戏推荐", |
||||
|
"游戏盘点", |
||||
|
"游戏杂谈", |
||||
|
"游戏流量风向标" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591107498070950905", |
||||
|
"title": "听懂了\n#魂类游戏 #解压游戏推荐 #宫崎英高 #解压视频 #fyp", |
||||
|
"author": "steam为什么吞我成就!", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:35", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"魂类游戏", |
||||
|
"解压游戏推荐", |
||||
|
"宫崎英高", |
||||
|
"解压视频", |
||||
|
"fyp" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591085549625068815", |
||||
|
"title": "玩个游戏而已,各大厂商为了不让你那么变态,可是屡出奇招! #steam游戏 #单机游戏 #赛博朋克 #荒野大镖客 #使命召唤", |
||||
|
"author": "电竞匹夫", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "03:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"单机游戏", |
||||
|
"赛博朋克", |
||||
|
"荒野大镖客", |
||||
|
"使命召唤" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591456184977198378", |
||||
|
"title": "四透视流护士,我有上帝视角! #steam游戏#恐怖游戏#游戏日常#黎明杀机#第五人格", |
||||
|
"author": "云吞大王cccloud", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "08:05", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"恐怖游戏", |
||||
|
"游戏日常", |
||||
|
"黎明杀机", |
||||
|
"第五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591097126042586402", |
||||
|
"title": "当满屏离谱玩法 当游戏会自己进化:这游戏的赛季制能有多野! #游戏 #逆战未来全年前瞻爆料 #逆战未来 #逆战未来月日上线#逆战未来正式上线", |
||||
|
"author": "呼叫网管", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"逆战未来全年前瞻爆料", |
||||
|
"逆战未来", |
||||
|
"逆战未来月日上线", |
||||
|
"逆战未来正式上线" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591376743877856566", |
||||
|
"title": "块钱掰成块花,推荐steam款超值游戏 #steam游戏 #游戏推荐 #还得是主机大作", |
||||
|
"author": "游戏老冰棍", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "10:14", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏推荐", |
||||
|
"还得是主机大作" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591456329408007434", |
||||
|
"title": "不愧是游戏大年!你最期待哪一个? #游戏 #游戏推荐 #主机游戏", |
||||
|
"author": "编剧雷神", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "04:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"游戏推荐", |
||||
|
"主机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591824335837334811", |
||||
|
"title": "这游戏笑死人了!!! #steam游戏 #游戏 #青年创作者成长计划", |
||||
|
"author": "弟弟大魔王", |
||||
|
"publishTime": "23小时前", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591387336568365434", |
||||
|
"title": "果然一切的恐惧都来源于火力和人数不足#战术小队 #生化模式 #游戏", |
||||
|
"author": "钵钵鸡(游戏解说)", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:18", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"战术小队", |
||||
|
"生化模式", |
||||
|
"游戏" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,432 @@ |
|||||
|
[ |
||||
|
{ |
||||
|
"name": "gd_random", |
||||
|
"value": "eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC42MjYyODM1NDIxNTUzOTgzfQ==.5b/+BHJKKTdo/iN/EcOqGcuOEXnBBhJl3nt4SMKqDgE=", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/goofy/douyin_creator_pc/creator_pc_vmok_common/vmok-manifest.json", |
||||
|
"expires": 1768204420.197675, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "gd_random", |
||||
|
"value": "eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC42MjYyODM1NDIxNTUzOTgzfQ==.5b/+BHJKKTdo/iN/EcOqGcuOEXnBBhJl3nt4SMKqDgE=", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/goofy/douyin_creator_pc/vmok/author-tag/vmok-manifest.json", |
||||
|
"expires": 1768204421.221255, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "gd_random", |
||||
|
"value": "eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuNjI2MjgzNTQyMTU1Mzk4M30=.nAbnDt88YsxcXlRaVhFzIda0q5iqj6897Lzf160KWqE=", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/goofy/douyin_creator_pc/mono/creator_common", |
||||
|
"expires": 1768204371.060436, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "gd_random", |
||||
|
"value": "eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuNjI2MjgzNTQyMTU1Mzk4M30=.nAbnDt88YsxcXlRaVhFzIda0q5iqj6897Lzf160KWqE=", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/goofy/douyin_creator_pc", |
||||
|
"expires": 1768204420.394262, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "gd_random", |
||||
|
"value": "eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuNjI2MjgzNTQyMTU1Mzk4M30=.nAbnDt88YsxcXlRaVhFzIda0q5iqj6897Lzf160KWqE=", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1768204419.460018, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "x-web-secsdk-uid", |
||||
|
"value": "ad81df24-a4fd-4315-acb6-004787e86011", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": -1, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "gfkadpd", |
||||
|
"value": "2906,33638", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1767858770, |
||||
|
"httpOnly": false, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "_tea_utm_cache_2906", |
||||
|
"value": "undefined", |
||||
|
"domain": ".creator.douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1768204370, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "csrf_session_id", |
||||
|
"value": "cea8b07538af507dbb231ab233eccbce", |
||||
|
"domain": "creator.douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": -1, |
||||
|
"httpOnly": false, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "ttwid", |
||||
|
"value": "1%7CXZ7ibh9pQL2c2fwcElU9d7lI7kwmzwa0psDPsjPCsWA%7C1767599557%7Cec44ad79bbfb00f7c0bb0a56fa6566b74274e80b2dcbd373a506c6e48066df6e", |
||||
|
"domain": ".bytedance.com", |
||||
|
"path": "/", |
||||
|
"expires": 1799135571.342635, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "bd_ticket_guard_client_web_domain", |
||||
|
"value": "2", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783620.372579, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "passport_csrf_token", |
||||
|
"value": "e2982c09b2f1af4d3ceca6eb21d3b05a", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783571.625722, |
||||
|
"httpOnly": false, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "passport_csrf_token_default", |
||||
|
"value": "e2982c09b2f1af4d3ceca6eb21d3b05a", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783571.625788, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "sdk_source_info", |
||||
|
"value": "7e276470716a68645a606960273f276364697660272927676c715a6d6069756077273f276364697660272927666d776a68605a607d71606b766c6a6b5a7666776c7571273f275e58272927666a6b766a69605a696c6061273f27636469766027292762696a6764695a7364776c6467696076273f275e592772606761776c73607759275827292771273f27343d3c3732303c3c30323332342778", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1767599873.033674, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "bit_env", |
||||
|
"value": "mwORTQfK-DqHEFk1vmP6wSQmmC3mRtSBE5pIKIKxmPT5Ah6twZWnNnbPU5hrBn_7ikvmCC2vSrUYvv9BeWTWqY2i37neb_SfnqzqMgxkydHC7UF6kYVH9vZPrAQfyXb12gFB57O7W1N1vj6aieq0V422ZXKYvTT39tF0Y2x9n0UuJWiVailIRSwM1uigRbsyZkgrIIdqBRjF3gVOfBRwHjhrZHbrIPgYKH7XlBhmACxAwPoMDqWbgU_SMjQxdwaLbh6zzyS8bk4dVH_dtM-J--oVzQEHczJOF1LcEaWTMe8owzOnUvV4offhA7qIJ9dOd6Fy8wUQpzvNs1IjpeSoDAzjnzHipCAcX7QEJCnoLT89Gl_11YFCOy_uCTl_hXQQ3ffoN60k0X0F6HPcvwR1F5S0nAH4Ef71YF5i1fe33UgKCePfQwzKvrTLnfqpkyFRXxwaUObtf7U5a2nf_b_c3MdJ9T6RJyCk9SNb4Cf-eYpG6to0m9TVWn50j57048pE", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1767599873.033791, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "gulu_source_res", |
||||
|
"value": "eyJwX2luIjoiYmM5OWY5NGU3MmYzZDQ4ZDRiMWU2Mzc1MzQ3MzY4YTYwNzI5OTJmZWE2ZDJhMDFiZDE3ZWVmZjAzMTk3ZDk3NyJ9", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1767599873.033846, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "passport_auth_mix_state", |
||||
|
"value": "rd43h5v52t7yi1ckocql1pzzxifaqw8j", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1767599813.03389, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "passport_fe_beating_status", |
||||
|
"value": "false", |
||||
|
"domain": ".creator.douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": -1, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "passport_mfa_token", |
||||
|
"value": "CjVLlGbZHs3ksHXhr1TFcQnu5G72Zp2Rk%2BnmqVWYmWTplG2vjQj97l6xhR%2Bp01%2FuUreS2DHJZhpKCjwAAAAAAAAAAAAAT%2Bomadg0lgQzeeEOQjtP6HQFlJy4N4QPahQgWJQGAzVOx7ABQwYf%2B2saiJMp7si0XfcQ3ouGDhj2sdFsIAIiAQP8rAXF", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783618.840888, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "d_ticket", |
||||
|
"value": "245180556863f53e0170d70d55ee37e6c4c5d", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1799135618.840962, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "biz_trace_id", |
||||
|
"value": "c147129b", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": -1, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "odin_tt", |
||||
|
"value": "c1377deec62fa6a799e3366878b35943e074f2769e2cf7cea1d8887eadbf3d50c583099ba8cfaf6d96c79af3dc59ac8e", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1799135619.365754, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "passport_assist_user", |
||||
|
"value": "CjyqXnyYOI-VEpZeJ3Zleb5Qbgb9tc0FZlm0p8msx0gXCwb0NHj6BH3cKGyJPLKOPBF9HIOB_BfRU7nN8AgaSgo8AAAAAAAAAAAAAE_q0uGh4Kb5ylPy-3mkqbvnDg6CfL5aBJBWML_T6UchucR1UeNb1lOGnnqEhn3tzicdEOOLhg4Yia_WVCABIgEDG1ZPog%3D%3D", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1802159619.365822, |
||||
|
"httpOnly": false, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "n_mh", |
||||
|
"value": "Hf6mHPgfyGBgV48UFE-ogogtqXoXCkVcLHunUrYci4s", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1777967619.365847, |
||||
|
"httpOnly": true, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "sid_guard", |
||||
|
"value": "00df8b4fa48a17e9252611dcdcfee95b%7C1767599605%7C5184000%7CFri%2C+06-Mar-2026+07%3A53%3A25+GMT", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1798703619.365867, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "uid_tt", |
||||
|
"value": "fa17d52c3c2c1e5fede797e68187af60", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.365887, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "uid_tt_ss", |
||||
|
"value": "fa17d52c3c2c1e5fede797e68187af60", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.365908, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "sid_tt", |
||||
|
"value": "00df8b4fa48a17e9252611dcdcfee95b", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.365927, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "sessionid", |
||||
|
"value": "00df8b4fa48a17e9252611dcdcfee95b", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.365944, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "sessionid_ss", |
||||
|
"value": "00df8b4fa48a17e9252611dcdcfee95b", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.365961, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "session_tlb_tag", |
||||
|
"value": "sttt%7C12%7CAN-LT6SKF-klJhHc3P7pW_________-0E8Vyd27dZrytvtK5aWx9uWhrscoLppYoEHlESYuqgGE%3D", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.365979, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "is_staff_user", |
||||
|
"value": "false", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.366, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "sid_ucp_v1", |
||||
|
"value": "1.0.0-KDcxNjgxNmU5ZDEyZGQ4ZDdmMDMxNDE3YTkxNjk0MDJhODkxYWM3YjIKHwiUt_LuzgEQ9dvtygYY2hYgDDCBzvnEBTgHQPQHSAQaAmxmIiAwMGRmOGI0ZmE0OGExN2U5MjUyNjExZGNkY2ZlZTk1Yg", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.366018, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "ssid_ucp_v1", |
||||
|
"value": "1.0.0-KDcxNjgxNmU5ZDEyZGQ4ZDdmMDMxNDE3YTkxNjk0MDJhODkxYWM3YjIKHwiUt_LuzgEQ9dvtygYY2hYgDDCBzvnEBTgHQPQHSAQaAmxmIiAwMGRmOGI0ZmE0OGExN2U5MjUyNjExZGNkY2ZlZTk1Yg", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.366038, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "_bd_ticket_crypt_doamin", |
||||
|
"value": "2", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.369453, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "_bd_ticket_crypt_cookie", |
||||
|
"value": "b35a618f21e055e4c37fb9583b623159", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.371913, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "__security_mc_1_s_sdk_sign_data_key_web_protect", |
||||
|
"value": "b9910e68-42ed-9878", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.372723, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "__security_mc_1_s_sdk_cert_key", |
||||
|
"value": "1e989677-4b06-986a", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.372811, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "__security_mc_1_s_sdk_crypt_sdk", |
||||
|
"value": "47bf45fb-4984-9a64", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.372868, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "__security_server_data_status", |
||||
|
"value": "1", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783619.376412, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "ttwid", |
||||
|
"value": "1%7CXZ7ibh9pQL2c2fwcElU9d7lI7kwmzwa0psDPsjPCsWA%7C1767599606%7C4777c47474288ebea4b0b779f7400e9c2c960566b1cb6d434c89c8014497367b", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1799135620.198423, |
||||
|
"httpOnly": true, |
||||
|
"secure": true, |
||||
|
"sameSite": "None" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "bd_ticket_guard_client_data", |
||||
|
"value": "eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCRVVvOWFyNS9iZFFHUnFmQUpTbC9yZ21Mei9TR0JNemhHRmFtb1hRcEFTZlVhdzJZMS80VXpKbnVGTS9waHV0Zm5UeUthWE9pWlFIdGdLRTJRcXNVZ3M9IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoyfQ%3D%3D", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783620.37249, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "bd_ticket_guard_client_data_v2", |
||||
|
"value": "eyJyZWVfcHVibGljX2tleSI6IkJFVW85YXI1L2JkUUdScWZBSlNsL3JnbUx6L1NHQk16aEdGYW1vWFFwQVNmVWF3MlkxLzRVekpudUZNL3BodXRmblR5S2FYT2laUUh0Z0tFMlFxc1Vncz0iLCJ0c19zaWduIjoidHMuMi43NzA4ZmM2MWFkMDI5YTU0ZjllODNiOWFmYzUwNThlOTdiNTM0N2MwMzg1NzIyZTdiOGUwZmI5NWFhZWEzNTEyYzRmYmU4N2QyMzE5Y2YwNTMxODYyNGNlZGExNDkxMWNhNDA2ZGVkYmViZWRkYjJlMzBmY2U4ZDRmYTAyNTc1ZCIsInJlcV9jb250ZW50Ijoic2VjX3RzIiwicmVxX3NpZ24iOiJUbDdJTHJYK0tndHBKWERwcjJ6cXBOWStlMUpSYmw5YVR4T3BmQzBZUXVBPSIsInNlY190cyI6IiNSOGdhbEFHRk84RUMyN2xYcHkzbTFrcFJCTm5NZEdWVnh0REdxRHJicjU5dU0xaU5pOWE0eVdsK1ZWQ0QifQ%3D%3D", |
||||
|
"domain": ".douyin.com", |
||||
|
"path": "/", |
||||
|
"expires": 1772783620.378894, |
||||
|
"httpOnly": false, |
||||
|
"secure": false, |
||||
|
"sameSite": "Lax" |
||||
|
} |
||||
|
] |
||||
@ -0,0 +1,575 @@ |
|||||
|
""" |
||||
|
抖音创作指导页面爬虫 - 使用Playwright |
||||
|
支持Cookie登录、手动登录和分类抓取 |
||||
|
""" |
||||
|
|
||||
|
import argparse |
||||
|
import asyncio |
||||
|
import json |
||||
|
import os |
||||
|
import sys |
||||
|
from datetime import datetime |
||||
|
from pathlib import Path |
||||
|
|
||||
|
from playwright.async_api import async_playwright |
||||
|
|
||||
|
if sys.platform == "win32": |
||||
|
os.environ["PYTHONIOENCODING"] = "utf-8" |
||||
|
import io |
||||
|
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') |
||||
|
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8') |
||||
|
|
||||
|
|
||||
|
async def get_available_categories(page): |
||||
|
"""从页面获取所有可用的分类""" |
||||
|
try: |
||||
|
# 先尝试展开所有分类(点击展开按钮) |
||||
|
# 注意:按钮显示"收起"时说明已经展开了,我们要找的是未展开的按钮 |
||||
|
expanded = await page.evaluate(""" |
||||
|
() => { |
||||
|
const showButtons = document.querySelectorAll('.show-button-sDo51G'); |
||||
|
let clicked = false; |
||||
|
showButtons.forEach(btn => { |
||||
|
const text = btn.textContent.trim(); |
||||
|
// 如果按钮不是"收起",说明需要展开 |
||||
|
if (!text.includes('收起')) { |
||||
|
btn.click(); |
||||
|
clicked = true; |
||||
|
} |
||||
|
}); |
||||
|
return clicked; |
||||
|
} |
||||
|
""") |
||||
|
|
||||
|
if expanded: |
||||
|
print("已展开分类列表") |
||||
|
await asyncio.sleep(1) |
||||
|
|
||||
|
# 获取所有分类 |
||||
|
categories = await page.evaluate(""" |
||||
|
() => { |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
return categoryDivs.map(div => div.textContent.trim()).filter(text => text); |
||||
|
} |
||||
|
""") |
||||
|
|
||||
|
return categories |
||||
|
except Exception as e: |
||||
|
print(f"获取分类列表失败: {e}") |
||||
|
return [] |
||||
|
|
||||
|
|
||||
|
async def list_categories(cookie_file: str = None): |
||||
|
"""列出所有可用的分类""" |
||||
|
url = "https://creator.douyin.com/creator-micro/creative-guidance" |
||||
|
|
||||
|
async with async_playwright() as p: |
||||
|
browser = await p.chromium.launch(headless=True) |
||||
|
|
||||
|
context_options = {} |
||||
|
if cookie_file and Path(cookie_file).exists(): |
||||
|
cookies = await load_cookies(cookie_file) |
||||
|
if cookies: |
||||
|
context_options['storage_state'] = {'cookies': cookies} |
||||
|
|
||||
|
context = await browser.new_context(**context_options) |
||||
|
page = await context.new_page() |
||||
|
|
||||
|
try: |
||||
|
await page.goto(url, wait_until="domcontentloaded", timeout=60000) |
||||
|
await asyncio.sleep(5) |
||||
|
|
||||
|
categories = await get_available_categories(page) |
||||
|
|
||||
|
print("\n可用的分类列表:") |
||||
|
print("=" * 60) |
||||
|
for i, cat in enumerate(categories, 1): |
||||
|
print(f"{i:2d}. {cat}") |
||||
|
print("=" * 60) |
||||
|
print(f"总计: {len(categories)} 个分类\n") |
||||
|
|
||||
|
return categories |
||||
|
|
||||
|
finally: |
||||
|
await browser.close() |
||||
|
|
||||
|
|
||||
|
async def load_cookies(cookie_file: str): |
||||
|
"""加载Cookie文件""" |
||||
|
try: |
||||
|
with open(cookie_file, 'r', encoding='utf-8') as f: |
||||
|
cookies = json.load(f) |
||||
|
print(f"✓ 已加载Cookie文件: {cookie_file}") |
||||
|
return cookies |
||||
|
except Exception as e: |
||||
|
print(f"✗ 加载Cookie失败: {e}") |
||||
|
return None |
||||
|
|
||||
|
|
||||
|
async def extract_video_data(page, debug_mode=False): |
||||
|
"""从页面中提取视频数据""" |
||||
|
|
||||
|
print("正在提取视频数据...") |
||||
|
|
||||
|
# 先检查页面上有什么 |
||||
|
debug_info = await page.evaluate(""" |
||||
|
() => { |
||||
|
const authorLinks = document.querySelectorAll('a[href*="iesdouyin.com/share/user/"]'); |
||||
|
const allLinks = document.querySelectorAll('a'); |
||||
|
|
||||
|
// 获取第一个视频容器的HTML结构用于调试 |
||||
|
let sampleHTML = ''; |
||||
|
if (authorLinks.length > 0) { |
||||
|
let container = authorLinks[0].closest('div[class*="video"]') || |
||||
|
authorLinks[0].closest('div[class*="item"]') || |
||||
|
authorLinks[0].closest('div[class*="card"]'); |
||||
|
|
||||
|
if (!container) { |
||||
|
container = authorLinks[0].parentElement; |
||||
|
for (let i = 0; i < 5; i++) { |
||||
|
if (container.querySelector('p')) break; |
||||
|
container = container.parentElement; |
||||
|
if (!container) break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (container) { |
||||
|
sampleHTML = container.outerHTML.substring(0, 2000); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return { |
||||
|
authorLinksCount: authorLinks.length, |
||||
|
allLinksCount: allLinks.length, |
||||
|
pageText: document.body.innerText.substring(0, 500), |
||||
|
sampleHTML: sampleHTML |
||||
|
}; |
||||
|
} |
||||
|
""") |
||||
|
|
||||
|
print(f"调试信息:") |
||||
|
print(f" 作者链接数量: {debug_info['authorLinksCount']}") |
||||
|
print(f" 所有链接数量: {debug_info['allLinksCount']}") |
||||
|
print(f" 页面文本预览: {debug_info['pageText'][:200]}...") |
||||
|
|
||||
|
if debug_mode and debug_info['sampleHTML']: |
||||
|
print(f"\n第一个视频容器HTML结构(前2000字符):") |
||||
|
print(debug_info['sampleHTML']) |
||||
|
print() |
||||
|
|
||||
|
print() |
||||
|
|
||||
|
# 执行JavaScript提取数据 |
||||
|
data = await page.evaluate(""" |
||||
|
() => { |
||||
|
const videos = []; |
||||
|
|
||||
|
// 查找所有作者链接 |
||||
|
const authorLinks = Array.from(document.querySelectorAll('a[href*="iesdouyin.com/share/user/"]')); |
||||
|
|
||||
|
authorLinks.forEach((authorLink, index) => { |
||||
|
try { |
||||
|
// 获取作者名 |
||||
|
const author = authorLink.textContent.trim(); |
||||
|
|
||||
|
// 向上查找包含 contain-info-LpWGHS 的容器 |
||||
|
let container = authorLink.parentElement; |
||||
|
let maxLevels = 10; |
||||
|
|
||||
|
while (container && maxLevels > 0) { |
||||
|
if (container.querySelector('.contain-info-LpWGHS')) { |
||||
|
break; |
||||
|
} |
||||
|
container = container.parentElement; |
||||
|
maxLevels--; |
||||
|
} |
||||
|
|
||||
|
if (!container) return; |
||||
|
|
||||
|
// 获取描述 |
||||
|
const paragraphs = Array.from(container.querySelectorAll('p')); |
||||
|
let description = ''; |
||||
|
for (let p of paragraphs) { |
||||
|
const text = p.textContent.trim(); |
||||
|
if (text && text !== '|' && text.length > 5 && !text.includes('万') && !text.includes(':')) { |
||||
|
description = text; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 提取互动数据 |
||||
|
let hot = '', plays = '', likes = '', comments = ''; |
||||
|
|
||||
|
const infoContainer = container.querySelector('.contain-info-LpWGHS'); |
||||
|
if (infoContainer) { |
||||
|
const infoItems = infoContainer.querySelectorAll('.each-info-TpmTI0'); |
||||
|
|
||||
|
infoItems.forEach(item => { |
||||
|
const img = item.querySelector('img'); |
||||
|
const text = item.textContent.trim(); |
||||
|
|
||||
|
if (img && img.src) { |
||||
|
if (img.src.includes('hot_first') || img.src.includes('hot_second') || img.src.includes('hot_third') || img.src.includes('hot_')) { |
||||
|
hot = text; |
||||
|
} else if (img.src.includes('play')) { |
||||
|
plays = text; |
||||
|
} else if (img.src.includes('digg')) { |
||||
|
likes = text; |
||||
|
} else if (img.src.includes('comment')) { |
||||
|
comments = text; |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
// 获取热词 |
||||
|
const hotWords = []; |
||||
|
const hotWordElements = container.querySelectorAll('.other-text-XeleRf'); |
||||
|
hotWordElements.forEach((el, i) => { |
||||
|
const text = el.textContent.trim(); |
||||
|
if (i === 0 && text.includes('热词')) { |
||||
|
// 跳过"热词 :"标签 |
||||
|
} else if (text && !text.includes('热词')) { |
||||
|
hotWords.push(text); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
// 查找标签 |
||||
|
const hashTags = description.match(/#[^\\s#]+/g) || []; |
||||
|
|
||||
|
// 查找视频时长 |
||||
|
let duration = ''; |
||||
|
const timeElements = container.querySelectorAll('.time-text-mask-WmpK85 p'); |
||||
|
if (timeElements.length > 0) { |
||||
|
duration = timeElements[0].textContent.trim(); |
||||
|
} |
||||
|
|
||||
|
if (author && description) { |
||||
|
videos.push({ |
||||
|
index: index + 1, |
||||
|
author: author, |
||||
|
description: description, |
||||
|
authorLink: authorLink.href, |
||||
|
duration: duration, |
||||
|
hot: hot, |
||||
|
plays: plays, |
||||
|
likes: likes, |
||||
|
comments: comments, |
||||
|
hotWords: hotWords, |
||||
|
hashTags: hashTags |
||||
|
}); |
||||
|
} |
||||
|
} catch (e) { |
||||
|
// 静默处理错误 |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
return { |
||||
|
total: videos.length, |
||||
|
videos: videos, |
||||
|
crawlTime: new Date().toISOString(), |
||||
|
pageTitle: document.title, |
||||
|
pageUrl: window.location.href |
||||
|
}; |
||||
|
} |
||||
|
""") |
||||
|
|
||||
|
return data |
||||
|
|
||||
|
|
||||
|
async def crawl_creative_guidance(output_dir: str, headless: bool = True, manual_mode: bool = False, cookie_file: str = None, category: str = None, debug_mode: bool = False): |
||||
|
"""抓取抖音创作指导页面""" |
||||
|
|
||||
|
output_path = Path(output_dir) |
||||
|
output_path.mkdir(parents=True, exist_ok=True) |
||||
|
|
||||
|
url = "https://creator.douyin.com/creator-micro/creative-guidance" |
||||
|
|
||||
|
print(f"正在抓取抖音创作指导页面: {url}") |
||||
|
if category: |
||||
|
print(f"目标分类: {category}") |
||||
|
if debug_mode: |
||||
|
print("调试模式已启用") |
||||
|
print() |
||||
|
|
||||
|
async with async_playwright() as p: |
||||
|
# 启动浏览器 |
||||
|
browser = await p.chromium.launch(headless=headless) |
||||
|
|
||||
|
# 创建上下文,如果有Cookie则加载 |
||||
|
context_options = {} |
||||
|
|
||||
|
if cookie_file and Path(cookie_file).exists(): |
||||
|
cookies = await load_cookies(cookie_file) |
||||
|
if cookies: |
||||
|
context_options['storage_state'] = {'cookies': cookies} |
||||
|
|
||||
|
context = await browser.new_context(**context_options) |
||||
|
page = await context.new_page() |
||||
|
|
||||
|
try: |
||||
|
# 访问页面 |
||||
|
print("正在打开页面...") |
||||
|
await page.goto(url, wait_until="domcontentloaded", timeout=60000) |
||||
|
|
||||
|
if manual_mode: |
||||
|
# 手动模式:等待用户登录 |
||||
|
print("\n" + "=" * 80) |
||||
|
print("请在浏览器中完成以下操作:") |
||||
|
print("1. 登录抖音账号(如果需要)") |
||||
|
print("2. 等待页面完全加载,确保能看到热门视频列表") |
||||
|
if category: |
||||
|
print(f"3. (可选)手动点击【{category}】分类,或者等待脚本自动点击") |
||||
|
print("4. 完成后,回到这里按回车键继续") |
||||
|
else: |
||||
|
print("3. 完成后,回到这里按回车键继续") |
||||
|
print("=" * 80 + "\n") |
||||
|
|
||||
|
input("按回车键开始抓取数据...") |
||||
|
print() |
||||
|
|
||||
|
# 等待页面稳定 |
||||
|
print("等待页面稳定...") |
||||
|
await asyncio.sleep(3) |
||||
|
|
||||
|
# 检查当前URL,如果发生了跳转,重新导航 |
||||
|
current_url = page.url |
||||
|
if current_url != url: |
||||
|
print(f"检测到页面跳转到: {current_url}") |
||||
|
print("重新导航到目标页面...") |
||||
|
await page.goto(url, wait_until="domcontentloaded", timeout=60000) |
||||
|
await asyncio.sleep(5) |
||||
|
else: |
||||
|
# 自动模式:等待页面加载 |
||||
|
print("等待页面加载...") |
||||
|
await asyncio.sleep(10) |
||||
|
|
||||
|
# 如果指定了分类,点击分类标签 |
||||
|
if category and category != "全部": |
||||
|
print(f"正在切换到【{category}】分类...") |
||||
|
|
||||
|
# 先展开所有分类 |
||||
|
await page.evaluate(""" |
||||
|
() => { |
||||
|
const showButtons = document.querySelectorAll('.show-button-sDo51G'); |
||||
|
showButtons.forEach(btn => { |
||||
|
const text = btn.textContent.trim(); |
||||
|
// 如果按钮不是"收起",说明需要展开 |
||||
|
if (!text.includes('收起')) { |
||||
|
btn.click(); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
""") |
||||
|
await asyncio.sleep(1) |
||||
|
|
||||
|
try: |
||||
|
# 查找并点击分类标签 |
||||
|
category_clicked = await page.evaluate(f""" |
||||
|
() => {{ |
||||
|
const categoryDivs = Array.from(document.querySelectorAll('.each-kind-MR__DN')); |
||||
|
const targetDiv = categoryDivs.find(div => |
||||
|
div.textContent.trim() === '{category}' |
||||
|
); |
||||
|
if (targetDiv) {{ |
||||
|
targetDiv.click(); |
||||
|
return true; |
||||
|
}} |
||||
|
return false; |
||||
|
}} |
||||
|
""") |
||||
|
|
||||
|
if category_clicked: |
||||
|
print(f"✓ 已点击【{category}】分类") |
||||
|
print("等待分类内容加载...") |
||||
|
await asyncio.sleep(8) # 增加等待时间 |
||||
|
else: |
||||
|
print(f"⚠ 未找到【{category}】分类标签") |
||||
|
print("提示:使用 --list-categories 查看所有可用分类") |
||||
|
except Exception as e: |
||||
|
print(f"⚠ 点击分类失败: {e}") |
||||
|
print("将抓取当前显示的内容") |
||||
|
|
||||
|
# 提取数据 |
||||
|
data = await extract_video_data(page, debug_mode=debug_mode) |
||||
|
|
||||
|
if data['total'] == 0: |
||||
|
print("⚠ 未提取到视频数据") |
||||
|
print("提示:") |
||||
|
print(" 1. 确保已登录抖音账号") |
||||
|
print(" 2. 确保页面已完全加载") |
||||
|
print(" 3. 尝试使用 --manual 参数手动控制") |
||||
|
if not cookie_file: |
||||
|
print(" 4. 或者使用 --cookie 参数提供Cookie文件") |
||||
|
return |
||||
|
|
||||
|
print(f"✓ 提取到 {data['total']} 个视频\n") |
||||
|
|
||||
|
# 保存结果 |
||||
|
save_results(data['videos'], url, output_path, category) |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"✗ 错误: {e}") |
||||
|
import traceback |
||||
|
traceback.print_exc() |
||||
|
finally: |
||||
|
await browser.close() |
||||
|
|
||||
|
|
||||
|
def save_results(videos, url, output_path, category=None): |
||||
|
"""保存结果""" |
||||
|
|
||||
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") |
||||
|
|
||||
|
# 文件名包含分类信息 |
||||
|
category_suffix = f"_{category}" if category else "" |
||||
|
|
||||
|
# JSON格式 |
||||
|
json_file = output_path / f"douyin_creative_guidance{category_suffix}_{timestamp}.json" |
||||
|
result_data = { |
||||
|
'page_url': url, |
||||
|
'page_title': '抖音创作指导 - 热门视频', |
||||
|
'category': category or '全部', |
||||
|
'platform': 'douyin', |
||||
|
'crawl_time': datetime.now().isoformat(), |
||||
|
'total_videos': len(videos), |
||||
|
'videos': videos |
||||
|
} |
||||
|
|
||||
|
with open(json_file, "w", encoding="utf-8") as f: |
||||
|
json.dump(result_data, f, ensure_ascii=False, indent=2) |
||||
|
|
||||
|
print(f"✓ JSON已保存: {json_file}") |
||||
|
|
||||
|
# 文本格式 |
||||
|
txt_file = json_file.with_suffix('.txt') |
||||
|
with open(txt_file, "w", encoding="utf-8") as f: |
||||
|
f.write(f"抖音创作指导 - 热门视频列表\n") |
||||
|
f.write(f"页面: {url}\n") |
||||
|
if category: |
||||
|
f.write(f"分类: {category}\n") |
||||
|
f.write(f"抓取时间: {datetime.now():%Y-%m-%d %H:%M:%S}\n") |
||||
|
f.write(f"视频总数: {len(videos)}\n") |
||||
|
f.write("=" * 80 + "\n\n") |
||||
|
|
||||
|
for video in videos: |
||||
|
f.write(f"视频 {video['index']}:\n") |
||||
|
f.write(f" 作者: {video.get('author', 'N/A')}\n") |
||||
|
f.write(f" 描述: {video.get('description', 'N/A')}\n") |
||||
|
|
||||
|
if video.get('duration'): |
||||
|
f.write(f" 时长: {video['duration']}\n") |
||||
|
|
||||
|
if video.get('authorLink'): |
||||
|
f.write(f" 作者链接: {video['authorLink']}\n") |
||||
|
|
||||
|
if video.get('hot'): |
||||
|
f.write(f" 热度: {video['hot']}\n") |
||||
|
if video.get('plays'): |
||||
|
f.write(f" 播放量: {video['plays']}\n") |
||||
|
if video.get('likes'): |
||||
|
f.write(f" 点赞: {video['likes']}\n") |
||||
|
if video.get('comments'): |
||||
|
f.write(f" 评论: {video['comments']}\n") |
||||
|
|
||||
|
if video.get('hashTags'): |
||||
|
f.write(f" 标签: {', '.join(video['hashTags'])}\n") |
||||
|
|
||||
|
if video.get('hotWords'): |
||||
|
f.write(f" 热词: {', '.join(video['hotWords'])}\n") |
||||
|
|
||||
|
f.write("-" * 80 + "\n") |
||||
|
|
||||
|
print(f"✓ 文本已保存: {txt_file}") |
||||
|
|
||||
|
# CSV格式 |
||||
|
csv_file = json_file.with_suffix('.csv') |
||||
|
with open(csv_file, "w", encoding="utf-8-sig") as f: |
||||
|
f.write("序号,作者,描述,时长,热度,播放量,点赞,评论,标签,作者链接\n") |
||||
|
for video in videos: |
||||
|
tags = '|'.join(video.get('hashTags', [])) |
||||
|
f.write(f"{video['index']},") |
||||
|
f.write(f'"{video.get("author", "")}",') |
||||
|
f.write(f'"{video.get("description", "")}",') |
||||
|
f.write(f'"{video.get("duration", "")}",') |
||||
|
f.write(f'"{video.get("hot", "")}",') |
||||
|
f.write(f'"{video.get("plays", "")}",') |
||||
|
f.write(f'"{video.get("likes", "")}",') |
||||
|
f.write(f'"{video.get("comments", "")}",') |
||||
|
f.write(f'"{tags}",') |
||||
|
f.write(f'"{video.get("authorLink", "")}"\n') |
||||
|
|
||||
|
print(f"✓ CSV已保存: {csv_file}\n") |
||||
|
|
||||
|
print(f"统计:") |
||||
|
print(f" 总视频数: {len(videos)}") |
||||
|
print(f" 有标签: {sum(1 for v in videos if v.get('hashTags'))}") |
||||
|
print(f" 有互动数据: {sum(1 for v in videos if v.get('plays') or v.get('likes'))}") |
||||
|
|
||||
|
|
||||
|
def main(): |
||||
|
parser = argparse.ArgumentParser(description="抖音创作指导页面爬虫 (Playwright版)") |
||||
|
parser.add_argument("--output-dir", "-o", default="douyin_data", help="输出目录") |
||||
|
parser.add_argument("--headless", action="store_true", help="无头模式(不显示浏览器)") |
||||
|
parser.add_argument("--manual", "-m", action="store_true", help="手动模式:等待用户登录后按回车继续") |
||||
|
parser.add_argument("--cookie", "-c", help="Cookie文件路径(JSON格式)") |
||||
|
parser.add_argument("--category", "-t", help="分类标签") |
||||
|
parser.add_argument("--debug", "-d", action="store_true", help="调试模式:显示页面HTML结构") |
||||
|
parser.add_argument("--list-categories", "-l", action="store_true", help="列出所有可用的分类") |
||||
|
args = parser.parse_args() |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("抖音创作指导页面爬虫 (Playwright版)") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
# 如果是列出分类模式 |
||||
|
if args.list_categories: |
||||
|
try: |
||||
|
asyncio.run(list_categories(cookie_file=args.cookie)) |
||||
|
except KeyboardInterrupt: |
||||
|
print("\n已中断") |
||||
|
except Exception as e: |
||||
|
print(f"\n错误: {e}") |
||||
|
import traceback |
||||
|
traceback.print_exc() |
||||
|
return |
||||
|
|
||||
|
if args.cookie: |
||||
|
if Path(args.cookie).exists(): |
||||
|
print(f"✓ 将使用Cookie文件: {args.cookie}") |
||||
|
else: |
||||
|
print(f"⚠ Cookie文件不存在: {args.cookie}") |
||||
|
print() |
||||
|
|
||||
|
if args.category: |
||||
|
print(f"✓ 目标分类: {args.category}") |
||||
|
print() |
||||
|
|
||||
|
if not args.headless: |
||||
|
print("⚠ 浏览器模式已启用") |
||||
|
if args.manual: |
||||
|
print(" 手动模式:登录后按回车键继续抓取") |
||||
|
else: |
||||
|
print(" 自动模式:将自动等待10秒后抓取") |
||||
|
print() |
||||
|
|
||||
|
try: |
||||
|
asyncio.run(crawl_creative_guidance( |
||||
|
output_dir=args.output_dir, |
||||
|
headless=args.headless, |
||||
|
manual_mode=args.manual, |
||||
|
cookie_file=args.cookie, |
||||
|
category=args.category, |
||||
|
debug_mode=args.debug, |
||||
|
)) |
||||
|
except KeyboardInterrupt: |
||||
|
print("\n已中断") |
||||
|
except Exception as e: |
||||
|
print(f"\n错误: {e}") |
||||
|
import traceback |
||||
|
traceback.print_exc() |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
main() |
||||
@ -0,0 +1,340 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "全部", |
||||
|
"crawl_time": "2026-01-07T14:32:03.792939", |
||||
|
"total_videos": 18, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "ikun", |
||||
|
"description": "如何打破冷战#王墨绫子 @王墨绫子", |
||||
|
"hot": "54.8万", |
||||
|
"plays": "3224.8万", |
||||
|
"likes": "135.6万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"冷战", |
||||
|
"绫子", |
||||
|
"如何", |
||||
|
"打破" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#王墨绫子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "陈陈怕不辣", |
||||
|
"description": "我就说续火花有用吧!闺蜜 #续火花 #外卖 #科普 #精神状态belike", |
||||
|
"hot": "235.7万", |
||||
|
"plays": "2677.7万", |
||||
|
"likes": "58.3万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"有用", |
||||
|
"火花", |
||||
|
"科普", |
||||
|
"belike" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#续火花", |
||||
|
"#外卖", |
||||
|
"#科普", |
||||
|
"#精神状态belike" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "@小趴菜", |
||||
|
"description": "怎么哼哼唧唧的 #小奶狗#狗狗#日常逗狗#狗狗的心思都写在脸上了", |
||||
|
"hot": "93.2万", |
||||
|
"plays": "2285.7万", |
||||
|
"likes": "420.3万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"怎么", |
||||
|
"狗狗", |
||||
|
"心思", |
||||
|
"小奶狗" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小奶狗", |
||||
|
"#狗狗", |
||||
|
"#日常逗狗", |
||||
|
"#狗狗的心思都写在脸上了" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "筷子兄弟", |
||||
|
"description": "王婉晨说:太利呀,没事,反正你们正经唱也没有流量。\n王哥线下版小苹果2.0", |
||||
|
"hot": "34.2万", |
||||
|
"plays": "2148.4万", |
||||
|
"likes": "44.0万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"正经", |
||||
|
"流量", |
||||
|
"没有", |
||||
|
"你们" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "小金子.", |
||||
|
"description": "给cpu干烧了#搞笑#一定看到最后#球蛋挑战", |
||||
|
"hot": "88.5万", |
||||
|
"plays": "2018.0万", |
||||
|
"likes": "56.2万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"搞笑", |
||||
|
"球蛋", |
||||
|
"挑战", |
||||
|
"最后" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#搞笑", |
||||
|
"#一定看到最后", |
||||
|
"#球蛋挑战" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "万宁叔-", |
||||
|
"description": "你说我戴墨镜干啥", |
||||
|
"hot": "62.8万", |
||||
|
"plays": "1807.6万", |
||||
|
"likes": "130.7万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "范丞丞", |
||||
|
"description": "略略略🤢🤮🤢🤮🤢🤢🤢🤮#星动营业中 #星动音乐电台#打卡一个新look #不止一面 #不跟陌生人说话", |
||||
|
"hot": "30.0万", |
||||
|
"plays": "1578.6万", |
||||
|
"likes": "369.7万", |
||||
|
"comments": "8669", |
||||
|
"hotWords": [ |
||||
|
"打卡", |
||||
|
"look", |
||||
|
"陌生人", |
||||
|
"星动" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#星动营业中", |
||||
|
"#星动音乐电台", |
||||
|
"#打卡一个新look", |
||||
|
"#不止一面", |
||||
|
"#不跟陌生人说话" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "李斯曼曼", |
||||
|
"description": "谢谢你选择我们做你的爸爸妈妈,我的宝宝,希望你来到这个世界玩的开心,爸爸妈妈都很爱你#李斯曼#生产日记", |
||||
|
"hot": "22.0万", |
||||
|
"plays": "1545.6万", |
||||
|
"likes": "540.2万", |
||||
|
"comments": "2.8万", |
||||
|
"hotWords": [ |
||||
|
"希望", |
||||
|
"这个", |
||||
|
"世界", |
||||
|
"谢谢" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#李斯曼", |
||||
|
"#生产日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "王小缓", |
||||
|
"description": "最忠心的臣子!#姑姑带娃 #回村的生活", |
||||
|
"hot": "52.6万", |
||||
|
"plays": "1362.3万", |
||||
|
"likes": "66.7万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"生活", |
||||
|
"回村", |
||||
|
"姑姑", |
||||
|
"臣子" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#姑姑带娃", |
||||
|
"#回村的生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "提米是三花", |
||||
|
"description": "冬天就是要贴贴 #三花猫 #猫核", |
||||
|
"hot": "79.0万", |
||||
|
"plays": "1313.5万", |
||||
|
"likes": "45.5万", |
||||
|
"comments": "1.8万", |
||||
|
"hotWords": [ |
||||
|
"冬天", |
||||
|
"就是" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三花猫", |
||||
|
"#猫核" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "罗臣臣", |
||||
|
"description": "爱你..老己! #蒙太奇 #遗憾 #超能演剧情大赛", |
||||
|
"hot": "17.7万", |
||||
|
"plays": "1084.2万", |
||||
|
"likes": "125.3万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"剧情", |
||||
|
"大赛", |
||||
|
"遗憾", |
||||
|
"老己" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#蒙太奇", |
||||
|
"#遗憾", |
||||
|
"#超能演剧情大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "RachelR星星", |
||||
|
"description": "错错错 是我的错!", |
||||
|
"hot": "13.4万", |
||||
|
"plays": "1058.1万", |
||||
|
"likes": "83.8万", |
||||
|
"comments": "3.3万", |
||||
|
"hotWords": [], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "白鹿my", |
||||
|
"description": "舞蹈速成班又开课啦 #时髦关键帧 #抖抖好生活 #星趣研究所 #宇宙闪烁请注意", |
||||
|
"hot": "15.2万", |
||||
|
"plays": "1034.7万", |
||||
|
"likes": "248.3万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"开课啦", |
||||
|
"生活", |
||||
|
"宇宙", |
||||
|
"舞蹈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#时髦关键帧", |
||||
|
"#抖抖好生活", |
||||
|
"#星趣研究所", |
||||
|
"#宇宙闪烁请注意" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "瑶一瑶小肉包", |
||||
|
"description": "谢谢你们陪妹崽又一年❤️ 快乐大合集来啦 又快乐的每一天!\n今天的视频有点长~\n#瑶一瑶小肉包 #人类幼崽迷惑行为大赏 #用西楼别序打开年度总结", |
||||
|
"hot": "20.6万", |
||||
|
"plays": "987.1万", |
||||
|
"likes": "43.1万", |
||||
|
"comments": "7821", |
||||
|
"hotWords": [ |
||||
|
"西楼", |
||||
|
"谢谢你们", |
||||
|
"行为", |
||||
|
"别序" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#瑶一瑶小肉包", |
||||
|
"#人类幼崽迷惑行为大赏", |
||||
|
"#用西楼别序打开年度总结" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "房东的肥四", |
||||
|
"description": "所有的事情都会按照心里想的越来越好的#搞笑", |
||||
|
"hot": "21.0万", |
||||
|
"plays": "933.7万", |
||||
|
"likes": "178.1万", |
||||
|
"comments": "7926", |
||||
|
"hotWords": [ |
||||
|
"搞笑", |
||||
|
"所有", |
||||
|
"按照", |
||||
|
"事情" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#搞笑" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "我摊牌了铁板", |
||||
|
"description": "一家六口猪咪日常洗个澡,舒服的的都要睡着了!#英短 #猫咪洗澡吹毛", |
||||
|
"hot": "62.5万", |
||||
|
"plays": "846.3万", |
||||
|
"likes": "99.1万", |
||||
|
"comments": "2.3万", |
||||
|
"hotWords": [ |
||||
|
"洗澡", |
||||
|
"英短", |
||||
|
"洗个", |
||||
|
"舒服" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英短", |
||||
|
"#猫咪洗澡吹毛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "56.4万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "王十一与陈老虎", |
||||
|
"description": "冬天这个家需要一个男人……#夫妻日常 #90后带娃 #内容太过真实 #人类幼崽成长计划", |
||||
|
"hot": "19.5万", |
||||
|
"plays": "782.2万", |
||||
|
"likes": "44.6万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"幼崽", |
||||
|
"这个", |
||||
|
"计划", |
||||
|
"人类" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#夫妻日常", |
||||
|
"#90后带娃", |
||||
|
"#内容太过真实", |
||||
|
"#人类幼崽成长计划" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 2.
|
@ -0,0 +1,403 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"page_title": "抖音创作指导 - 热门视频", |
||||
|
"category": "校园", |
||||
|
"platform": "douyin", |
||||
|
"crawl_time": "2026-01-07T15:27:08.197479", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "清华大学", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "187.1万", |
||||
|
"likes": "9.8万", |
||||
|
"comments": "5965", |
||||
|
"hotWords": [ |
||||
|
"世界", |
||||
|
"我会", |
||||
|
"等你", |
||||
|
"上岸" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#我会等", |
||||
|
"#我会等枯树生出芽开出新的花", |
||||
|
"#校园", |
||||
|
"#上岸" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "男生的哪一个瞬间 让你觉得他特别有教养.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "8.1万", |
||||
|
"plays": "148.3万", |
||||
|
"likes": "3.9万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"特别", |
||||
|
"一个", |
||||
|
"瞬间", |
||||
|
"男生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "一个死不了 但又折磨人的小病.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "71.1万", |
||||
|
"likes": "1.5万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"死不了", |
||||
|
"小病", |
||||
|
"折磨" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "北京大学", |
||||
|
"description": "北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "6580", |
||||
|
"plays": "46.5万", |
||||
|
"likes": "5.2万", |
||||
|
"comments": "113", |
||||
|
"hotWords": [ |
||||
|
"旁听生", |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "清华大学", |
||||
|
"description": "清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "3154", |
||||
|
"plays": "44.2万", |
||||
|
"likes": "8.0万", |
||||
|
"comments": "94", |
||||
|
"hotWords": [ |
||||
|
"点滴", |
||||
|
"校园", |
||||
|
"学生", |
||||
|
"守护" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#年度人物", |
||||
|
"#榜样的力量", |
||||
|
"#校园", |
||||
|
"#青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "北京大学", |
||||
|
"description": "高等量子力学 01 北京大学公开课 高等量子力学 01\n第一章 粒子数表象(上)\n主讲人 田光善 北京大学物理学院教授\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "40.7万", |
||||
|
"likes": "6.9万", |
||||
|
"comments": "673", |
||||
|
"hotWords": [ |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"北京大学", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "平顶山衡水卓越学校", |
||||
|
"description": "学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/149963539750595?sec_uid=MS4wLjABAAAAJ5uCA1JK5Tchrw0aqKcYt4a8hym-Gbw37LGWilX708k", |
||||
|
"duration": "", |
||||
|
"hot": "1.7万", |
||||
|
"plays": "39.5万", |
||||
|
"likes": "2.8万", |
||||
|
"comments": "261", |
||||
|
"hotWords": [ |
||||
|
"体验", |
||||
|
"台前幕后", |
||||
|
"学校", |
||||
|
"排练" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#元旦晚会", |
||||
|
"#台前幕后", |
||||
|
"#排练花絮", |
||||
|
"#高中校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "听名字让人以为是985、211的大学 实际上 却是一所专科学院.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1.1万", |
||||
|
"plays": "38.8万", |
||||
|
"likes": "2.0万", |
||||
|
"comments": "629", |
||||
|
"hotWords": [ |
||||
|
"以为", |
||||
|
"大学", |
||||
|
"985", |
||||
|
"211" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "12.1万", |
||||
|
"plays": "36.1万", |
||||
|
"likes": "22.3万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"30", |
||||
|
"00", |
||||
|
"还有" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "4672", |
||||
|
"plays": "34.7万", |
||||
|
"likes": "1690", |
||||
|
"comments": "1761", |
||||
|
"hotWords": [ |
||||
|
"13", |
||||
|
"而且", |
||||
|
"还是", |
||||
|
"下午" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "深圳市滨海高级中学", |
||||
|
"description": "别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/103998100702?sec_uid=MS4wLjABAAAAdw5kmMas6SsqLrRoWxY8i55SVv2HjqOPoqGE0V_f_Ok", |
||||
|
"duration": "", |
||||
|
"hot": "33", |
||||
|
"plays": "31.6万", |
||||
|
"likes": "1176", |
||||
|
"comments": "5", |
||||
|
"hotWords": [ |
||||
|
"深圳市", |
||||
|
"学校", |
||||
|
"黄金", |
||||
|
"耽误" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#深圳中考", |
||||
|
"#转学", |
||||
|
"#插班", |
||||
|
"#深圳滨海高中", |
||||
|
"#深圳市滨海高级中学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "北京大学", |
||||
|
"description": "如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴!\n拍摄:周子群\n剪辑:罗榆姗\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "754", |
||||
|
"plays": "29.6万", |
||||
|
"likes": "5050", |
||||
|
"comments": "9", |
||||
|
"hotWords": [ |
||||
|
"直播", |
||||
|
"运动", |
||||
|
"拍摄", |
||||
|
"子群" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "清华大学", |
||||
|
"description": "我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非\n这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。\n#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "999", |
||||
|
"plays": "26.0万", |
||||
|
"likes": "4666", |
||||
|
"comments": "59", |
||||
|
"hotWords": [ |
||||
|
"鸡汤", |
||||
|
"理论", |
||||
|
"帮助", |
||||
|
"这节" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#抖音精选公开课", |
||||
|
"#心理学", |
||||
|
"#MBTI", |
||||
|
"#大五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "香港中文大学(深圳)", |
||||
|
"description": "抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上)\n主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩\n这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。\n我们将在1月7日更新第二讲,欢迎追更!\n#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/98767889840?sec_uid=MS4wLjABAAAAoHqvR5jtul4gE7nsMsamX8RoQnCyxDOZrULLjOIyKFs", |
||||
|
"duration": "", |
||||
|
"hot": "1033", |
||||
|
"plays": "22.8万", |
||||
|
"likes": "4066", |
||||
|
"comments": "43", |
||||
|
"hotWords": [ |
||||
|
"现场", |
||||
|
"时空", |
||||
|
"世界", |
||||
|
"之外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#港中深", |
||||
|
"#科学史", |
||||
|
"#牛顿", |
||||
|
"#莱布尼兹", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "冷知识:创造了每个人考试最低纪录的学科 一定是数学!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "9624", |
||||
|
"plays": "19.2万", |
||||
|
"likes": "2615", |
||||
|
"comments": "2594", |
||||
|
"hotWords": [ |
||||
|
"考试", |
||||
|
"每个人", |
||||
|
"知识", |
||||
|
"纪录" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "许倬云说历史", |
||||
|
"description": "情况坏下去,会引发新的世界大战。", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/101237739048?sec_uid=MS4wLjABAAAAglLS3eWFNADOa1rjZDlcdBValO7DF4u0447LWjzSALc", |
||||
|
"duration": "", |
||||
|
"hot": "2841", |
||||
|
"plays": "17.9万", |
||||
|
"likes": "3019", |
||||
|
"comments": "61", |
||||
|
"hotWords": [ |
||||
|
"引发", |
||||
|
"下去", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "恩施土家族苗族自治州清江外国语学校", |
||||
|
"description": "下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/65241602915?sec_uid=MS4wLjABAAAAlAIlXaaYTb8p_vPuGurfonv_FyMBR1pV44gdrpOJI7Y", |
||||
|
"duration": "", |
||||
|
"hot": "5774", |
||||
|
"plays": "16.9万", |
||||
|
"likes": "2.2万", |
||||
|
"comments": "459", |
||||
|
"hotWords": [ |
||||
|
"珍贵", |
||||
|
"声音", |
||||
|
"这个", |
||||
|
"冬日" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1.0万", |
||||
|
"plays": "16.2万", |
||||
|
"likes": "2.6万", |
||||
|
"comments": "1190", |
||||
|
"hotWords": [ |
||||
|
"交感神经", |
||||
|
"导致", |
||||
|
"而且", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:2026年出生的孩子 努努力 可以活到3000年!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1090", |
||||
|
"plays": "15.2万", |
||||
|
"likes": "331", |
||||
|
"comments": "145", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"努力", |
||||
|
"可以", |
||||
|
"出生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,218 @@ |
|||||
|
抖音创作指导 - 热门视频列表 |
||||
|
页面: https://creator.douyin.com/creator-micro/creative-guidance |
||||
|
分类: 校园 |
||||
|
抓取时间: 2026-01-07 15:27:08 |
||||
|
视频总数: 19 |
||||
|
================================================================================ |
||||
|
|
||||
|
视频 1: |
||||
|
作者: 清华大学 |
||||
|
描述: 我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 2.5万 |
||||
|
播放量: 187.1万 |
||||
|
点赞: 9.8万 |
||||
|
评论: 5965 |
||||
|
标签: #清华大学, #我会等, #我会等枯树生出芽开出新的花, #校园, #上岸 |
||||
|
热词: 世界, 我会, 等你, 上岸 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 2: |
||||
|
作者: Lily Peng |
||||
|
描述: 男生的哪一个瞬间 让你觉得他特别有教养. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 8.1万 |
||||
|
播放量: 148.3万 |
||||
|
点赞: 3.9万 |
||||
|
评论: 1.4万 |
||||
|
热词: 特别, 一个, 瞬间, 男生 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 4: |
||||
|
作者: Lily Peng |
||||
|
描述: 一个死不了 但又折磨人的小病. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 2.5万 |
||||
|
播放量: 71.1万 |
||||
|
点赞: 1.5万 |
||||
|
评论: 1.1万 |
||||
|
热词: 死不了, 小病, 折磨 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 5: |
||||
|
作者: 北京大学 |
||||
|
描述: 北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 6580 |
||||
|
播放量: 46.5万 |
||||
|
点赞: 5.2万 |
||||
|
评论: 113 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技, #抖音精选宠粉福利, #抖音精选公开课 |
||||
|
热词: 旁听生, 抖音, APP, 上抖音 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 6: |
||||
|
作者: 清华大学 |
||||
|
描述: 清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 3154 |
||||
|
播放量: 44.2万 |
||||
|
点赞: 8.0万 |
||||
|
评论: 94 |
||||
|
标签: #清华大学, #年度人物, #榜样的力量, #校园, #青春的样子 |
||||
|
热词: 点滴, 校园, 学生, 守护 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 7: |
||||
|
作者: 北京大学 |
||||
|
描述: 高等量子力学 01 北京大学公开课 高等量子力学 01 |
||||
|
第一章 粒子数表象(上) |
||||
|
主讲人 田光善 北京大学物理学院教授 |
||||
|
#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 2.7万 |
||||
|
播放量: 40.7万 |
||||
|
点赞: 6.9万 |
||||
|
评论: 673 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技 |
||||
|
热词: 抖音, APP, 北京大学, 上抖音 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 8: |
||||
|
作者: 平顶山衡水卓越学校 |
||||
|
描述: 学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/149963539750595?sec_uid=MS4wLjABAAAAJ5uCA1JK5Tchrw0aqKcYt4a8hym-Gbw37LGWilX708k |
||||
|
热度: 1.7万 |
||||
|
播放量: 39.5万 |
||||
|
点赞: 2.8万 |
||||
|
评论: 261 |
||||
|
标签: #元旦晚会, #台前幕后, #排练花絮, #高中校园 |
||||
|
热词: 体验, 台前幕后, 学校, 排练 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 9: |
||||
|
作者: Lily Peng |
||||
|
描述: 听名字让人以为是985、211的大学 实际上 却是一所专科学院. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1.1万 |
||||
|
播放量: 38.8万 |
||||
|
点赞: 2.0万 |
||||
|
评论: 629 |
||||
|
热词: 以为, 大学, 985, 211 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 10: |
||||
|
作者: Lily Peng |
||||
|
描述: 突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 12.1万 |
||||
|
播放量: 36.1万 |
||||
|
点赞: 22.3万 |
||||
|
评论: 1.0万 |
||||
|
热词: 突然, 30, 00, 还有 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 11: |
||||
|
作者: Lily Peng |
||||
|
描述: 1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 4672 |
||||
|
播放量: 34.7万 |
||||
|
点赞: 1690 |
||||
|
评论: 1761 |
||||
|
热词: 13, 而且, 还是, 下午 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 12: |
||||
|
作者: 深圳市滨海高级中学 |
||||
|
描述: 别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/103998100702?sec_uid=MS4wLjABAAAAdw5kmMas6SsqLrRoWxY8i55SVv2HjqOPoqGE0V_f_Ok |
||||
|
热度: 33 |
||||
|
播放量: 31.6万 |
||||
|
点赞: 1176 |
||||
|
评论: 5 |
||||
|
标签: #深圳中考, #转学, #插班, #深圳滨海高中, #深圳市滨海高级中学 |
||||
|
热词: 深圳市, 学校, 黄金, 耽误 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 13: |
||||
|
作者: 北京大学 |
||||
|
描述: 如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴! |
||||
|
拍摄:周子群 |
||||
|
剪辑:罗榆姗 |
||||
|
#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 754 |
||||
|
播放量: 29.6万 |
||||
|
点赞: 5050 |
||||
|
评论: 9 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技, #抖音精选宠粉福利 |
||||
|
热词: 直播, 运动, 拍摄, 子群 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 14: |
||||
|
作者: 清华大学 |
||||
|
描述: 我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非 |
||||
|
这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。 |
||||
|
#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 999 |
||||
|
播放量: 26.0万 |
||||
|
点赞: 4666 |
||||
|
评论: 59 |
||||
|
标签: #清华大学, #抖音精选公开课, #心理学, #MBTI, #大五人格 |
||||
|
热词: 鸡汤, 理论, 帮助, 这节 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 15: |
||||
|
作者: 香港中文大学(深圳) |
||||
|
描述: 抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上) |
||||
|
主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩 |
||||
|
这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。 |
||||
|
我们将在1月7日更新第二讲,欢迎追更! |
||||
|
#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/98767889840?sec_uid=MS4wLjABAAAAoHqvR5jtul4gE7nsMsamX8RoQnCyxDOZrULLjOIyKFs |
||||
|
热度: 1033 |
||||
|
播放量: 22.8万 |
||||
|
点赞: 4066 |
||||
|
评论: 43 |
||||
|
标签: #港中深, #科学史, #牛顿, #莱布尼兹, #抖音精选公开课 |
||||
|
热词: 现场, 时空, 世界, 之外 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 16: |
||||
|
作者: Lily Peng |
||||
|
描述: 冷知识:创造了每个人考试最低纪录的学科 一定是数学!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 9624 |
||||
|
播放量: 19.2万 |
||||
|
点赞: 2615 |
||||
|
评论: 2594 |
||||
|
热词: 考试, 每个人, 知识, 纪录 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 17: |
||||
|
作者: 许倬云说历史 |
||||
|
描述: 情况坏下去,会引发新的世界大战。 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/101237739048?sec_uid=MS4wLjABAAAAglLS3eWFNADOa1rjZDlcdBValO7DF4u0447LWjzSALc |
||||
|
热度: 2841 |
||||
|
播放量: 17.9万 |
||||
|
点赞: 3019 |
||||
|
评论: 61 |
||||
|
热词: 引发, 下去, 情况 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 18: |
||||
|
作者: 恩施土家族苗族自治州清江外国语学校 |
||||
|
描述: 下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/65241602915?sec_uid=MS4wLjABAAAAlAIlXaaYTb8p_vPuGurfonv_FyMBR1pV44gdrpOJI7Y |
||||
|
热度: 5774 |
||||
|
播放量: 16.9万 |
||||
|
点赞: 2.2万 |
||||
|
评论: 459 |
||||
|
热词: 珍贵, 声音, 这个, 冬日 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 19: |
||||
|
作者: Lily Peng |
||||
|
描述: 经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1.0万 |
||||
|
播放量: 16.2万 |
||||
|
点赞: 2.6万 |
||||
|
评论: 1190 |
||||
|
热词: 交感神经, 导致, 而且, 情况 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 20: |
||||
|
作者: Lily Peng |
||||
|
描述: 突然意识到:2026年出生的孩子 努努力 可以活到3000年!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1090 |
||||
|
播放量: 15.2万 |
||||
|
点赞: 331 |
||||
|
评论: 145 |
||||
|
热词: 突然, 努力, 可以, 出生 |
||||
|
-------------------------------------------------------------------------------- |
||||
@ -0,0 +1,340 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "校园", |
||||
|
"crawl_time": "2026-01-07T17:07:07.381137", |
||||
|
"total_videos": 18, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "ikun", |
||||
|
"description": "如何打破冷战#王墨绫子 @王墨绫子", |
||||
|
"hot": "54.8万", |
||||
|
"plays": "3224.8万", |
||||
|
"likes": "139.2万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"冷战", |
||||
|
"绫子", |
||||
|
"如何", |
||||
|
"打破" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#王墨绫子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "陈陈怕不辣", |
||||
|
"description": "我就说续火花有用吧!闺蜜 #续火花 #外卖 #科普 #精神状态belike", |
||||
|
"hot": "235.7万", |
||||
|
"plays": "2677.7万", |
||||
|
"likes": "59.7万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"有用", |
||||
|
"火花", |
||||
|
"科普", |
||||
|
"belike" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#续火花", |
||||
|
"#外卖", |
||||
|
"#科普", |
||||
|
"#精神状态belike" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "@小趴菜", |
||||
|
"description": "怎么哼哼唧唧的 #小奶狗#狗狗#日常逗狗#狗狗的心思都写在脸上了", |
||||
|
"hot": "93.2万", |
||||
|
"plays": "2285.7万", |
||||
|
"likes": "432.6万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"怎么", |
||||
|
"狗狗", |
||||
|
"心思", |
||||
|
"小奶狗" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小奶狗", |
||||
|
"#狗狗", |
||||
|
"#日常逗狗", |
||||
|
"#狗狗的心思都写在脸上了" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "筷子兄弟", |
||||
|
"description": "王婉晨说:太利呀,没事,反正你们正经唱也没有流量。\n王哥线下版小苹果2.0", |
||||
|
"hot": "34.2万", |
||||
|
"plays": "2148.4万", |
||||
|
"likes": "44.5万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"正经", |
||||
|
"流量", |
||||
|
"没有", |
||||
|
"你们" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "小金子.", |
||||
|
"description": "给cpu干烧了#搞笑#一定看到最后#球蛋挑战", |
||||
|
"hot": "88.5万", |
||||
|
"plays": "2018.0万", |
||||
|
"likes": "58.8万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"搞笑", |
||||
|
"球蛋", |
||||
|
"挑战", |
||||
|
"最后" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#搞笑", |
||||
|
"#一定看到最后", |
||||
|
"#球蛋挑战" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "万宁叔-", |
||||
|
"description": "你说我戴墨镜干啥", |
||||
|
"hot": "62.8万", |
||||
|
"plays": "1807.6万", |
||||
|
"likes": "138.2万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "范丞丞", |
||||
|
"description": "略略略🤢🤮🤢🤮🤢🤢🤢🤮#星动营业中 #星动音乐电台#打卡一个新look #不止一面 #不跟陌生人说话", |
||||
|
"hot": "30.0万", |
||||
|
"plays": "1578.6万", |
||||
|
"likes": "372.1万", |
||||
|
"comments": "8669", |
||||
|
"hotWords": [ |
||||
|
"打卡", |
||||
|
"look", |
||||
|
"陌生人", |
||||
|
"星动" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#星动营业中", |
||||
|
"#星动音乐电台", |
||||
|
"#打卡一个新look", |
||||
|
"#不止一面", |
||||
|
"#不跟陌生人说话" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "李斯曼曼", |
||||
|
"description": "谢谢你选择我们做你的爸爸妈妈,我的宝宝,希望你来到这个世界玩的开心,爸爸妈妈都很爱你#李斯曼#生产日记", |
||||
|
"hot": "22.0万", |
||||
|
"plays": "1545.6万", |
||||
|
"likes": "542.6万", |
||||
|
"comments": "2.8万", |
||||
|
"hotWords": [ |
||||
|
"希望", |
||||
|
"这个", |
||||
|
"世界", |
||||
|
"谢谢" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#李斯曼", |
||||
|
"#生产日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "王小缓", |
||||
|
"description": "最忠心的臣子!#姑姑带娃 #回村的生活", |
||||
|
"hot": "52.6万", |
||||
|
"plays": "1362.3万", |
||||
|
"likes": "68.3万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"生活", |
||||
|
"回村", |
||||
|
"姑姑", |
||||
|
"臣子" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#姑姑带娃", |
||||
|
"#回村的生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "提米是三花", |
||||
|
"description": "冬天就是要贴贴 #三花猫 #猫核", |
||||
|
"hot": "79.0万", |
||||
|
"plays": "1313.5万", |
||||
|
"likes": "45.7万", |
||||
|
"comments": "1.8万", |
||||
|
"hotWords": [ |
||||
|
"冬天", |
||||
|
"就是" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三花猫", |
||||
|
"#猫核" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "罗臣臣", |
||||
|
"description": "爱你..老己! #蒙太奇 #遗憾 #超能演剧情大赛", |
||||
|
"hot": "17.7万", |
||||
|
"plays": "1084.2万", |
||||
|
"likes": "126.7万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"剧情", |
||||
|
"大赛", |
||||
|
"遗憾", |
||||
|
"老己" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#蒙太奇", |
||||
|
"#遗憾", |
||||
|
"#超能演剧情大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "RachelR星星", |
||||
|
"description": "错错错 是我的错!", |
||||
|
"hot": "13.4万", |
||||
|
"plays": "1058.1万", |
||||
|
"likes": "84.6万", |
||||
|
"comments": "3.3万", |
||||
|
"hotWords": [], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "白鹿my", |
||||
|
"description": "舞蹈速成班又开课啦 #时髦关键帧 #抖抖好生活 #星趣研究所 #宇宙闪烁请注意", |
||||
|
"hot": "15.2万", |
||||
|
"plays": "1034.7万", |
||||
|
"likes": "251.6万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"开课啦", |
||||
|
"生活", |
||||
|
"宇宙", |
||||
|
"舞蹈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#时髦关键帧", |
||||
|
"#抖抖好生活", |
||||
|
"#星趣研究所", |
||||
|
"#宇宙闪烁请注意" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "瑶一瑶小肉包", |
||||
|
"description": "谢谢你们陪妹崽又一年❤️ 快乐大合集来啦 又快乐的每一天!\n今天的视频有点长~\n#瑶一瑶小肉包 #人类幼崽迷惑行为大赏 #用西楼别序打开年度总结", |
||||
|
"hot": "20.6万", |
||||
|
"plays": "987.1万", |
||||
|
"likes": "44.3万", |
||||
|
"comments": "7821", |
||||
|
"hotWords": [ |
||||
|
"西楼", |
||||
|
"谢谢你们", |
||||
|
"行为", |
||||
|
"别序" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#瑶一瑶小肉包", |
||||
|
"#人类幼崽迷惑行为大赏", |
||||
|
"#用西楼别序打开年度总结" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "房东的肥四", |
||||
|
"description": "所有的事情都会按照心里想的越来越好的#搞笑", |
||||
|
"hot": "21.0万", |
||||
|
"plays": "933.7万", |
||||
|
"likes": "179.5万", |
||||
|
"comments": "7926", |
||||
|
"hotWords": [ |
||||
|
"搞笑", |
||||
|
"所有", |
||||
|
"按照", |
||||
|
"事情" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#搞笑" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "我摊牌了铁板", |
||||
|
"description": "一家六口猪咪日常洗个澡,舒服的的都要睡着了!#英短 #猫咪洗澡吹毛", |
||||
|
"hot": "62.5万", |
||||
|
"plays": "846.3万", |
||||
|
"likes": "105.8万", |
||||
|
"comments": "2.3万", |
||||
|
"hotWords": [ |
||||
|
"洗澡", |
||||
|
"英短", |
||||
|
"洗个", |
||||
|
"舒服" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英短", |
||||
|
"#猫咪洗澡吹毛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "58.5万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "王十一与陈老虎", |
||||
|
"description": "冬天这个家需要一个男人……#夫妻日常 #90后带娃 #内容太过真实 #人类幼崽成长计划", |
||||
|
"hot": "19.5万", |
||||
|
"plays": "782.2万", |
||||
|
"likes": "45.7万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"幼崽", |
||||
|
"这个", |
||||
|
"计划", |
||||
|
"人类" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#夫妻日常", |
||||
|
"#90后带娃", |
||||
|
"#内容太过真实", |
||||
|
"#人类幼崽成长计划" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,340 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "校园", |
||||
|
"crawl_time": "2026-01-07T17:15:18.320454", |
||||
|
"total_videos": 18, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "ikun", |
||||
|
"description": "如何打破冷战#王墨绫子 @王墨绫子", |
||||
|
"hot": "54.8万", |
||||
|
"plays": "3224.8万", |
||||
|
"likes": "139.5万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"冷战", |
||||
|
"绫子", |
||||
|
"如何", |
||||
|
"打破" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#王墨绫子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "陈陈怕不辣", |
||||
|
"description": "我就说续火花有用吧!闺蜜 #续火花 #外卖 #科普 #精神状态belike", |
||||
|
"hot": "235.7万", |
||||
|
"plays": "2677.7万", |
||||
|
"likes": "59.7万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"有用", |
||||
|
"火花", |
||||
|
"科普", |
||||
|
"belike" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#续火花", |
||||
|
"#外卖", |
||||
|
"#科普", |
||||
|
"#精神状态belike" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "@小趴菜", |
||||
|
"description": "怎么哼哼唧唧的 #小奶狗#狗狗#日常逗狗#狗狗的心思都写在脸上了", |
||||
|
"hot": "93.2万", |
||||
|
"plays": "2285.7万", |
||||
|
"likes": "433.2万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"怎么", |
||||
|
"狗狗", |
||||
|
"心思", |
||||
|
"小奶狗" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小奶狗", |
||||
|
"#狗狗", |
||||
|
"#日常逗狗", |
||||
|
"#狗狗的心思都写在脸上了" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "筷子兄弟", |
||||
|
"description": "王婉晨说:太利呀,没事,反正你们正经唱也没有流量。\n王哥线下版小苹果2.0", |
||||
|
"hot": "34.2万", |
||||
|
"plays": "2148.4万", |
||||
|
"likes": "44.6万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"正经", |
||||
|
"流量", |
||||
|
"没有", |
||||
|
"你们" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "小金子.", |
||||
|
"description": "给cpu干烧了#搞笑#一定看到最后#球蛋挑战", |
||||
|
"hot": "88.5万", |
||||
|
"plays": "2018.0万", |
||||
|
"likes": "58.9万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"搞笑", |
||||
|
"球蛋", |
||||
|
"挑战", |
||||
|
"最后" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#搞笑", |
||||
|
"#一定看到最后", |
||||
|
"#球蛋挑战" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "万宁叔-", |
||||
|
"description": "你说我戴墨镜干啥", |
||||
|
"hot": "62.8万", |
||||
|
"plays": "1807.6万", |
||||
|
"likes": "138.6万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "范丞丞", |
||||
|
"description": "略略略🤢🤮🤢🤮🤢🤢🤢🤮#星动营业中 #星动音乐电台#打卡一个新look #不止一面 #不跟陌生人说话", |
||||
|
"hot": "30.0万", |
||||
|
"plays": "1578.6万", |
||||
|
"likes": "372.2万", |
||||
|
"comments": "8669", |
||||
|
"hotWords": [ |
||||
|
"打卡", |
||||
|
"look", |
||||
|
"陌生人", |
||||
|
"星动" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#星动营业中", |
||||
|
"#星动音乐电台", |
||||
|
"#打卡一个新look", |
||||
|
"#不止一面", |
||||
|
"#不跟陌生人说话" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "李斯曼曼", |
||||
|
"description": "谢谢你选择我们做你的爸爸妈妈,我的宝宝,希望你来到这个世界玩的开心,爸爸妈妈都很爱你#李斯曼#生产日记", |
||||
|
"hot": "22.0万", |
||||
|
"plays": "1545.6万", |
||||
|
"likes": "542.8万", |
||||
|
"comments": "2.8万", |
||||
|
"hotWords": [ |
||||
|
"希望", |
||||
|
"这个", |
||||
|
"世界", |
||||
|
"谢谢" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#李斯曼", |
||||
|
"#生产日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "王小缓", |
||||
|
"description": "最忠心的臣子!#姑姑带娃 #回村的生活", |
||||
|
"hot": "52.6万", |
||||
|
"plays": "1362.3万", |
||||
|
"likes": "68.4万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"生活", |
||||
|
"回村", |
||||
|
"姑姑", |
||||
|
"臣子" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#姑姑带娃", |
||||
|
"#回村的生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "提米是三花", |
||||
|
"description": "冬天就是要贴贴 #三花猫 #猫核", |
||||
|
"hot": "79.0万", |
||||
|
"plays": "1313.5万", |
||||
|
"likes": "45.7万", |
||||
|
"comments": "1.8万", |
||||
|
"hotWords": [ |
||||
|
"冬天", |
||||
|
"就是" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三花猫", |
||||
|
"#猫核" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "罗臣臣", |
||||
|
"description": "爱你..老己! #蒙太奇 #遗憾 #超能演剧情大赛", |
||||
|
"hot": "17.7万", |
||||
|
"plays": "1084.2万", |
||||
|
"likes": "126.8万", |
||||
|
"comments": "2.0万", |
||||
|
"hotWords": [ |
||||
|
"剧情", |
||||
|
"大赛", |
||||
|
"遗憾", |
||||
|
"老己" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#蒙太奇", |
||||
|
"#遗憾", |
||||
|
"#超能演剧情大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "RachelR星星", |
||||
|
"description": "错错错 是我的错!", |
||||
|
"hot": "13.4万", |
||||
|
"plays": "1058.1万", |
||||
|
"likes": "84.7万", |
||||
|
"comments": "3.3万", |
||||
|
"hotWords": [], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "白鹿my", |
||||
|
"description": "舞蹈速成班又开课啦 #时髦关键帧 #抖抖好生活 #星趣研究所 #宇宙闪烁请注意", |
||||
|
"hot": "15.2万", |
||||
|
"plays": "1034.7万", |
||||
|
"likes": "251.8万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"开课啦", |
||||
|
"生活", |
||||
|
"宇宙", |
||||
|
"舞蹈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#时髦关键帧", |
||||
|
"#抖抖好生活", |
||||
|
"#星趣研究所", |
||||
|
"#宇宙闪烁请注意" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "瑶一瑶小肉包", |
||||
|
"description": "谢谢你们陪妹崽又一年❤️ 快乐大合集来啦 又快乐的每一天!\n今天的视频有点长~\n#瑶一瑶小肉包 #人类幼崽迷惑行为大赏 #用西楼别序打开年度总结", |
||||
|
"hot": "20.6万", |
||||
|
"plays": "987.1万", |
||||
|
"likes": "44.4万", |
||||
|
"comments": "7821", |
||||
|
"hotWords": [ |
||||
|
"西楼", |
||||
|
"谢谢你们", |
||||
|
"行为", |
||||
|
"别序" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#瑶一瑶小肉包", |
||||
|
"#人类幼崽迷惑行为大赏", |
||||
|
"#用西楼别序打开年度总结" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "房东的肥四", |
||||
|
"description": "所有的事情都会按照心里想的越来越好的#搞笑", |
||||
|
"hot": "21.0万", |
||||
|
"plays": "933.7万", |
||||
|
"likes": "179.7万", |
||||
|
"comments": "7926", |
||||
|
"hotWords": [ |
||||
|
"搞笑", |
||||
|
"所有", |
||||
|
"按照", |
||||
|
"事情" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#搞笑" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "我摊牌了铁板", |
||||
|
"description": "一家六口猪咪日常洗个澡,舒服的的都要睡着了!#英短 #猫咪洗澡吹毛", |
||||
|
"hot": "62.5万", |
||||
|
"plays": "846.3万", |
||||
|
"likes": "106.2万", |
||||
|
"comments": "2.3万", |
||||
|
"hotWords": [ |
||||
|
"洗澡", |
||||
|
"英短", |
||||
|
"洗个", |
||||
|
"舒服" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英短", |
||||
|
"#猫咪洗澡吹毛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "58.6万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "王十一与陈老虎", |
||||
|
"description": "冬天这个家需要一个男人……#夫妻日常 #90后带娃 #内容太过真实 #人类幼崽成长计划", |
||||
|
"hot": "19.5万", |
||||
|
"plays": "782.2万", |
||||
|
"likes": "45.8万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"幼崽", |
||||
|
"这个", |
||||
|
"计划", |
||||
|
"人类" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#夫妻日常", |
||||
|
"#90后带娃", |
||||
|
"#内容太过真实", |
||||
|
"#人类幼崽成长计划" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 2.
|
@ -0,0 +1,403 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"page_title": "抖音创作指导 - 热门视频", |
||||
|
"category": "校园", |
||||
|
"platform": "douyin", |
||||
|
"crawl_time": "2026-01-07T17:17:05.304973", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "清华大学", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "187.1万", |
||||
|
"likes": "9.9万", |
||||
|
"comments": "5965", |
||||
|
"hotWords": [ |
||||
|
"世界", |
||||
|
"我会", |
||||
|
"等你", |
||||
|
"上岸" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#我会等", |
||||
|
"#我会等枯树生出芽开出新的花", |
||||
|
"#校园", |
||||
|
"#上岸" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "男生的哪一个瞬间 让你觉得他特别有教养.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "8.1万", |
||||
|
"plays": "148.3万", |
||||
|
"likes": "4.1万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"特别", |
||||
|
"一个", |
||||
|
"瞬间", |
||||
|
"男生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "一个死不了 但又折磨人的小病.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "71.1万", |
||||
|
"likes": "1.5万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"死不了", |
||||
|
"小病", |
||||
|
"折磨" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "北京大学", |
||||
|
"description": "北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "6580", |
||||
|
"plays": "46.5万", |
||||
|
"likes": "5.4万", |
||||
|
"comments": "113", |
||||
|
"hotWords": [ |
||||
|
"旁听生", |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "清华大学", |
||||
|
"description": "清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "3154", |
||||
|
"plays": "44.2万", |
||||
|
"likes": "8.0万", |
||||
|
"comments": "94", |
||||
|
"hotWords": [ |
||||
|
"点滴", |
||||
|
"校园", |
||||
|
"学生", |
||||
|
"守护" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#年度人物", |
||||
|
"#榜样的力量", |
||||
|
"#校园", |
||||
|
"#青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "北京大学", |
||||
|
"description": "高等量子力学 01 北京大学公开课 高等量子力学 01\n第一章 粒子数表象(上)\n主讲人 田光善 北京大学物理学院教授\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "40.7万", |
||||
|
"likes": "6.9万", |
||||
|
"comments": "673", |
||||
|
"hotWords": [ |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"北京大学", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "平顶山衡水卓越学校", |
||||
|
"description": "学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/149963539750595?sec_uid=MS4wLjABAAAAJ5uCA1JK5Tchrw0aqKcYt4a8hym-Gbw37LGWilX708k", |
||||
|
"duration": "", |
||||
|
"hot": "1.7万", |
||||
|
"plays": "39.5万", |
||||
|
"likes": "2.8万", |
||||
|
"comments": "261", |
||||
|
"hotWords": [ |
||||
|
"体验", |
||||
|
"台前幕后", |
||||
|
"学校", |
||||
|
"排练" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#元旦晚会", |
||||
|
"#台前幕后", |
||||
|
"#排练花絮", |
||||
|
"#高中校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "听名字让人以为是985、211的大学 实际上 却是一所专科学院.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1.1万", |
||||
|
"plays": "38.8万", |
||||
|
"likes": "2.0万", |
||||
|
"comments": "629", |
||||
|
"hotWords": [ |
||||
|
"以为", |
||||
|
"大学", |
||||
|
"985", |
||||
|
"211" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "12.1万", |
||||
|
"plays": "36.1万", |
||||
|
"likes": "22.4万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"30", |
||||
|
"00", |
||||
|
"还有" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "4672", |
||||
|
"plays": "34.7万", |
||||
|
"likes": "1729", |
||||
|
"comments": "1761", |
||||
|
"hotWords": [ |
||||
|
"13", |
||||
|
"而且", |
||||
|
"还是", |
||||
|
"下午" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "深圳市滨海高级中学", |
||||
|
"description": "别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/103998100702?sec_uid=MS4wLjABAAAAdw5kmMas6SsqLrRoWxY8i55SVv2HjqOPoqGE0V_f_Ok", |
||||
|
"duration": "", |
||||
|
"hot": "33", |
||||
|
"plays": "31.6万", |
||||
|
"likes": "1176", |
||||
|
"comments": "5", |
||||
|
"hotWords": [ |
||||
|
"深圳市", |
||||
|
"学校", |
||||
|
"黄金", |
||||
|
"耽误" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#深圳中考", |
||||
|
"#转学", |
||||
|
"#插班", |
||||
|
"#深圳滨海高中", |
||||
|
"#深圳市滨海高级中学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "北京大学", |
||||
|
"description": "如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴!\n拍摄:周子群\n剪辑:罗榆姗\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "754", |
||||
|
"plays": "29.6万", |
||||
|
"likes": "5050", |
||||
|
"comments": "9", |
||||
|
"hotWords": [ |
||||
|
"直播", |
||||
|
"运动", |
||||
|
"拍摄", |
||||
|
"子群" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "清华大学", |
||||
|
"description": "我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非\n这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。\n#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "999", |
||||
|
"plays": "26.0万", |
||||
|
"likes": "4735", |
||||
|
"comments": "59", |
||||
|
"hotWords": [ |
||||
|
"鸡汤", |
||||
|
"理论", |
||||
|
"帮助", |
||||
|
"这节" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#抖音精选公开课", |
||||
|
"#心理学", |
||||
|
"#MBTI", |
||||
|
"#大五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "香港中文大学(深圳)", |
||||
|
"description": "抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上)\n主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩\n这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。\n我们将在1月7日更新第二讲,欢迎追更!\n#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/98767889840?sec_uid=MS4wLjABAAAAoHqvR5jtul4gE7nsMsamX8RoQnCyxDOZrULLjOIyKFs", |
||||
|
"duration": "", |
||||
|
"hot": "1033", |
||||
|
"plays": "22.8万", |
||||
|
"likes": "4074", |
||||
|
"comments": "43", |
||||
|
"hotWords": [ |
||||
|
"现场", |
||||
|
"时空", |
||||
|
"世界", |
||||
|
"之外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#港中深", |
||||
|
"#科学史", |
||||
|
"#牛顿", |
||||
|
"#莱布尼兹", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "冷知识:创造了每个人考试最低纪录的学科 一定是数学!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "9624", |
||||
|
"plays": "19.2万", |
||||
|
"likes": "2757", |
||||
|
"comments": "2594", |
||||
|
"hotWords": [ |
||||
|
"考试", |
||||
|
"每个人", |
||||
|
"知识", |
||||
|
"纪录" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "许倬云说历史", |
||||
|
"description": "情况坏下去,会引发新的世界大战。", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/101237739048?sec_uid=MS4wLjABAAAAglLS3eWFNADOa1rjZDlcdBValO7DF4u0447LWjzSALc", |
||||
|
"duration": "", |
||||
|
"hot": "2841", |
||||
|
"plays": "17.9万", |
||||
|
"likes": "3163", |
||||
|
"comments": "61", |
||||
|
"hotWords": [ |
||||
|
"引发", |
||||
|
"下去", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "恩施土家族苗族自治州清江外国语学校", |
||||
|
"description": "下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/65241602915?sec_uid=MS4wLjABAAAAlAIlXaaYTb8p_vPuGurfonv_FyMBR1pV44gdrpOJI7Y", |
||||
|
"duration": "", |
||||
|
"hot": "5774", |
||||
|
"plays": "16.9万", |
||||
|
"likes": "2.2万", |
||||
|
"comments": "459", |
||||
|
"hotWords": [ |
||||
|
"珍贵", |
||||
|
"声音", |
||||
|
"这个", |
||||
|
"冬日" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1.0万", |
||||
|
"plays": "16.2万", |
||||
|
"likes": "2.6万", |
||||
|
"comments": "1190", |
||||
|
"hotWords": [ |
||||
|
"交感神经", |
||||
|
"导致", |
||||
|
"而且", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:2026年出生的孩子 努努力 可以活到3000年!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1090", |
||||
|
"plays": "15.2万", |
||||
|
"likes": "339", |
||||
|
"comments": "145", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"努力", |
||||
|
"可以", |
||||
|
"出生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,218 @@ |
|||||
|
抖音创作指导 - 热门视频列表 |
||||
|
页面: https://creator.douyin.com/creator-micro/creative-guidance |
||||
|
分类: 校园 |
||||
|
抓取时间: 2026-01-07 17:17:05 |
||||
|
视频总数: 19 |
||||
|
================================================================================ |
||||
|
|
||||
|
视频 1: |
||||
|
作者: 清华大学 |
||||
|
描述: 我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 2.5万 |
||||
|
播放量: 187.1万 |
||||
|
点赞: 9.9万 |
||||
|
评论: 5965 |
||||
|
标签: #清华大学, #我会等, #我会等枯树生出芽开出新的花, #校园, #上岸 |
||||
|
热词: 世界, 我会, 等你, 上岸 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 2: |
||||
|
作者: Lily Peng |
||||
|
描述: 男生的哪一个瞬间 让你觉得他特别有教养. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 8.1万 |
||||
|
播放量: 148.3万 |
||||
|
点赞: 4.1万 |
||||
|
评论: 1.4万 |
||||
|
热词: 特别, 一个, 瞬间, 男生 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 4: |
||||
|
作者: Lily Peng |
||||
|
描述: 一个死不了 但又折磨人的小病. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 2.5万 |
||||
|
播放量: 71.1万 |
||||
|
点赞: 1.5万 |
||||
|
评论: 1.1万 |
||||
|
热词: 死不了, 小病, 折磨 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 5: |
||||
|
作者: 北京大学 |
||||
|
描述: 北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 6580 |
||||
|
播放量: 46.5万 |
||||
|
点赞: 5.4万 |
||||
|
评论: 113 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技, #抖音精选宠粉福利, #抖音精选公开课 |
||||
|
热词: 旁听生, 抖音, APP, 上抖音 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 6: |
||||
|
作者: 清华大学 |
||||
|
描述: 清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 3154 |
||||
|
播放量: 44.2万 |
||||
|
点赞: 8.0万 |
||||
|
评论: 94 |
||||
|
标签: #清华大学, #年度人物, #榜样的力量, #校园, #青春的样子 |
||||
|
热词: 点滴, 校园, 学生, 守护 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 7: |
||||
|
作者: 北京大学 |
||||
|
描述: 高等量子力学 01 北京大学公开课 高等量子力学 01 |
||||
|
第一章 粒子数表象(上) |
||||
|
主讲人 田光善 北京大学物理学院教授 |
||||
|
#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 2.7万 |
||||
|
播放量: 40.7万 |
||||
|
点赞: 6.9万 |
||||
|
评论: 673 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技 |
||||
|
热词: 抖音, APP, 北京大学, 上抖音 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 8: |
||||
|
作者: 平顶山衡水卓越学校 |
||||
|
描述: 学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/149963539750595?sec_uid=MS4wLjABAAAAJ5uCA1JK5Tchrw0aqKcYt4a8hym-Gbw37LGWilX708k |
||||
|
热度: 1.7万 |
||||
|
播放量: 39.5万 |
||||
|
点赞: 2.8万 |
||||
|
评论: 261 |
||||
|
标签: #元旦晚会, #台前幕后, #排练花絮, #高中校园 |
||||
|
热词: 体验, 台前幕后, 学校, 排练 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 9: |
||||
|
作者: Lily Peng |
||||
|
描述: 听名字让人以为是985、211的大学 实际上 却是一所专科学院. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1.1万 |
||||
|
播放量: 38.8万 |
||||
|
点赞: 2.0万 |
||||
|
评论: 629 |
||||
|
热词: 以为, 大学, 985, 211 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 10: |
||||
|
作者: Lily Peng |
||||
|
描述: 突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 12.1万 |
||||
|
播放量: 36.1万 |
||||
|
点赞: 22.4万 |
||||
|
评论: 1.0万 |
||||
|
热词: 突然, 30, 00, 还有 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 11: |
||||
|
作者: Lily Peng |
||||
|
描述: 1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 4672 |
||||
|
播放量: 34.7万 |
||||
|
点赞: 1729 |
||||
|
评论: 1761 |
||||
|
热词: 13, 而且, 还是, 下午 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 12: |
||||
|
作者: 深圳市滨海高级中学 |
||||
|
描述: 别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/103998100702?sec_uid=MS4wLjABAAAAdw5kmMas6SsqLrRoWxY8i55SVv2HjqOPoqGE0V_f_Ok |
||||
|
热度: 33 |
||||
|
播放量: 31.6万 |
||||
|
点赞: 1176 |
||||
|
评论: 5 |
||||
|
标签: #深圳中考, #转学, #插班, #深圳滨海高中, #深圳市滨海高级中学 |
||||
|
热词: 深圳市, 学校, 黄金, 耽误 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 13: |
||||
|
作者: 北京大学 |
||||
|
描述: 如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴! |
||||
|
拍摄:周子群 |
||||
|
剪辑:罗榆姗 |
||||
|
#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 754 |
||||
|
播放量: 29.6万 |
||||
|
点赞: 5050 |
||||
|
评论: 9 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技, #抖音精选宠粉福利 |
||||
|
热词: 直播, 运动, 拍摄, 子群 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 14: |
||||
|
作者: 清华大学 |
||||
|
描述: 我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非 |
||||
|
这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。 |
||||
|
#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 999 |
||||
|
播放量: 26.0万 |
||||
|
点赞: 4735 |
||||
|
评论: 59 |
||||
|
标签: #清华大学, #抖音精选公开课, #心理学, #MBTI, #大五人格 |
||||
|
热词: 鸡汤, 理论, 帮助, 这节 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 15: |
||||
|
作者: 香港中文大学(深圳) |
||||
|
描述: 抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上) |
||||
|
主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩 |
||||
|
这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。 |
||||
|
我们将在1月7日更新第二讲,欢迎追更! |
||||
|
#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/98767889840?sec_uid=MS4wLjABAAAAoHqvR5jtul4gE7nsMsamX8RoQnCyxDOZrULLjOIyKFs |
||||
|
热度: 1033 |
||||
|
播放量: 22.8万 |
||||
|
点赞: 4074 |
||||
|
评论: 43 |
||||
|
标签: #港中深, #科学史, #牛顿, #莱布尼兹, #抖音精选公开课 |
||||
|
热词: 现场, 时空, 世界, 之外 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 16: |
||||
|
作者: Lily Peng |
||||
|
描述: 冷知识:创造了每个人考试最低纪录的学科 一定是数学!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 9624 |
||||
|
播放量: 19.2万 |
||||
|
点赞: 2757 |
||||
|
评论: 2594 |
||||
|
热词: 考试, 每个人, 知识, 纪录 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 17: |
||||
|
作者: 许倬云说历史 |
||||
|
描述: 情况坏下去,会引发新的世界大战。 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/101237739048?sec_uid=MS4wLjABAAAAglLS3eWFNADOa1rjZDlcdBValO7DF4u0447LWjzSALc |
||||
|
热度: 2841 |
||||
|
播放量: 17.9万 |
||||
|
点赞: 3163 |
||||
|
评论: 61 |
||||
|
热词: 引发, 下去, 情况 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 18: |
||||
|
作者: 恩施土家族苗族自治州清江外国语学校 |
||||
|
描述: 下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/65241602915?sec_uid=MS4wLjABAAAAlAIlXaaYTb8p_vPuGurfonv_FyMBR1pV44gdrpOJI7Y |
||||
|
热度: 5774 |
||||
|
播放量: 16.9万 |
||||
|
点赞: 2.2万 |
||||
|
评论: 459 |
||||
|
热词: 珍贵, 声音, 这个, 冬日 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 19: |
||||
|
作者: Lily Peng |
||||
|
描述: 经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1.0万 |
||||
|
播放量: 16.2万 |
||||
|
点赞: 2.6万 |
||||
|
评论: 1190 |
||||
|
热词: 交感神经, 导致, 而且, 情况 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 20: |
||||
|
作者: Lily Peng |
||||
|
描述: 突然意识到:2026年出生的孩子 努努力 可以活到3000年!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1090 |
||||
|
播放量: 15.2万 |
||||
|
点赞: 339 |
||||
|
评论: 145 |
||||
|
热词: 突然, 努力, 可以, 出生 |
||||
|
-------------------------------------------------------------------------------- |
||||
@ -0,0 +1,363 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "校园", |
||||
|
"crawl_time": "2026-01-07T17:19:58.545534", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "清华大学", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "187.1万", |
||||
|
"likes": "9.9万", |
||||
|
"comments": "5965", |
||||
|
"hotWords": [ |
||||
|
"世界", |
||||
|
"我会", |
||||
|
"等你", |
||||
|
"上岸" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#我会等", |
||||
|
"#我会等枯树生出芽开出新的花", |
||||
|
"#校园", |
||||
|
"#上岸" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "男生的哪一个瞬间 让你觉得他特别有教养.", |
||||
|
"hot": "8.1万", |
||||
|
"plays": "148.3万", |
||||
|
"likes": "4.1万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"特别", |
||||
|
"一个", |
||||
|
"瞬间", |
||||
|
"男生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "一个死不了 但又折磨人的小病.", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "71.1万", |
||||
|
"likes": "1.5万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"死不了", |
||||
|
"小病", |
||||
|
"折磨" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "北京大学", |
||||
|
"description": "北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课", |
||||
|
"hot": "6580", |
||||
|
"plays": "46.5万", |
||||
|
"likes": "5.4万", |
||||
|
"comments": "113", |
||||
|
"hotWords": [ |
||||
|
"旁听生", |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "清华大学", |
||||
|
"description": "清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子", |
||||
|
"hot": "3154", |
||||
|
"plays": "44.2万", |
||||
|
"likes": "8.0万", |
||||
|
"comments": "94", |
||||
|
"hotWords": [ |
||||
|
"点滴", |
||||
|
"校园", |
||||
|
"学生", |
||||
|
"守护" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#年度人物", |
||||
|
"#榜样的力量", |
||||
|
"#校园", |
||||
|
"#青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "北京大学", |
||||
|
"description": "高等量子力学 01 北京大学公开课 高等量子力学 01\n第一章 粒子数表象(上)\n主讲人 田光善 北京大学物理学院教授\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "40.7万", |
||||
|
"likes": "6.9万", |
||||
|
"comments": "673", |
||||
|
"hotWords": [ |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"北京大学", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "平顶山衡水卓越学校", |
||||
|
"description": "学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园", |
||||
|
"hot": "1.7万", |
||||
|
"plays": "39.5万", |
||||
|
"likes": "2.8万", |
||||
|
"comments": "261", |
||||
|
"hotWords": [ |
||||
|
"体验", |
||||
|
"台前幕后", |
||||
|
"学校", |
||||
|
"排练" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#元旦晚会", |
||||
|
"#台前幕后", |
||||
|
"#排练花絮", |
||||
|
"#高中校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "听名字让人以为是985、211的大学 实际上 却是一所专科学院.", |
||||
|
"hot": "1.1万", |
||||
|
"plays": "38.8万", |
||||
|
"likes": "2.0万", |
||||
|
"comments": "629", |
||||
|
"hotWords": [ |
||||
|
"以为", |
||||
|
"大学", |
||||
|
"985", |
||||
|
"211" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样.", |
||||
|
"hot": "12.1万", |
||||
|
"plays": "36.1万", |
||||
|
"likes": "22.4万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"30", |
||||
|
"00", |
||||
|
"还有" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!!", |
||||
|
"hot": "4672", |
||||
|
"plays": "34.7万", |
||||
|
"likes": "1731", |
||||
|
"comments": "1761", |
||||
|
"hotWords": [ |
||||
|
"13", |
||||
|
"而且", |
||||
|
"还是", |
||||
|
"下午" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "深圳市滨海高级中学", |
||||
|
"description": "别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学", |
||||
|
"hot": "33", |
||||
|
"plays": "31.6万", |
||||
|
"likes": "1176", |
||||
|
"comments": "5", |
||||
|
"hotWords": [ |
||||
|
"深圳市", |
||||
|
"学校", |
||||
|
"黄金", |
||||
|
"耽误" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#深圳中考", |
||||
|
"#转学", |
||||
|
"#插班", |
||||
|
"#深圳滨海高中", |
||||
|
"#深圳市滨海高级中学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "北京大学", |
||||
|
"description": "如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴!\n拍摄:周子群\n剪辑:罗榆姗\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利", |
||||
|
"hot": "754", |
||||
|
"plays": "29.6万", |
||||
|
"likes": "5050", |
||||
|
"comments": "9", |
||||
|
"hotWords": [ |
||||
|
"直播", |
||||
|
"运动", |
||||
|
"拍摄", |
||||
|
"子群" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "清华大学", |
||||
|
"description": "我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非\n这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。\n#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格", |
||||
|
"hot": "999", |
||||
|
"plays": "26.0万", |
||||
|
"likes": "4737", |
||||
|
"comments": "59", |
||||
|
"hotWords": [ |
||||
|
"鸡汤", |
||||
|
"理论", |
||||
|
"帮助", |
||||
|
"这节" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#抖音精选公开课", |
||||
|
"#心理学", |
||||
|
"#MBTI", |
||||
|
"#大五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "香港中文大学(深圳)", |
||||
|
"description": "抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上)\n主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩\n这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。\n我们将在1月7日更新第二讲,欢迎追更!\n#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课", |
||||
|
"hot": "1033", |
||||
|
"plays": "22.8万", |
||||
|
"likes": "4074", |
||||
|
"comments": "43", |
||||
|
"hotWords": [ |
||||
|
"现场", |
||||
|
"时空", |
||||
|
"世界", |
||||
|
"之外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#港中深", |
||||
|
"#科学史", |
||||
|
"#牛顿", |
||||
|
"#莱布尼兹", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "冷知识:创造了每个人考试最低纪录的学科 一定是数学!!!", |
||||
|
"hot": "9624", |
||||
|
"plays": "19.2万", |
||||
|
"likes": "2758", |
||||
|
"comments": "2594", |
||||
|
"hotWords": [ |
||||
|
"考试", |
||||
|
"每个人", |
||||
|
"知识", |
||||
|
"纪录" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "许倬云说历史", |
||||
|
"description": "情况坏下去,会引发新的世界大战。", |
||||
|
"hot": "2841", |
||||
|
"plays": "17.9万", |
||||
|
"likes": "3168", |
||||
|
"comments": "61", |
||||
|
"hotWords": [ |
||||
|
"引发", |
||||
|
"下去", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "恩施土家族苗族自治州清江外国语学校", |
||||
|
"description": "下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音!", |
||||
|
"hot": "5774", |
||||
|
"plays": "16.9万", |
||||
|
"likes": "2.2万", |
||||
|
"comments": "459", |
||||
|
"hotWords": [ |
||||
|
"珍贵", |
||||
|
"声音", |
||||
|
"这个", |
||||
|
"冬日" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们.", |
||||
|
"hot": "1.0万", |
||||
|
"plays": "16.2万", |
||||
|
"likes": "2.6万", |
||||
|
"comments": "1190", |
||||
|
"hotWords": [ |
||||
|
"交感神经", |
||||
|
"导致", |
||||
|
"而且", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:2026年出生的孩子 努努力 可以活到3000年!!!", |
||||
|
"hot": "1090", |
||||
|
"plays": "15.2万", |
||||
|
"likes": "339", |
||||
|
"comments": "145", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"努力", |
||||
|
"可以", |
||||
|
"出生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,363 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "校园", |
||||
|
"crawl_time": "2026-01-07T17:26:33.339640", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "清华大学", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "187.1万", |
||||
|
"likes": "9.9万", |
||||
|
"comments": "5965", |
||||
|
"hotWords": [ |
||||
|
"世界", |
||||
|
"我会", |
||||
|
"等你", |
||||
|
"上岸" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#我会等", |
||||
|
"#我会等枯树生出芽开出新的花", |
||||
|
"#校园", |
||||
|
"#上岸" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "男生的哪一个瞬间 让你觉得他特别有教养.", |
||||
|
"hot": "8.1万", |
||||
|
"plays": "148.3万", |
||||
|
"likes": "4.1万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"特别", |
||||
|
"一个", |
||||
|
"瞬间", |
||||
|
"男生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "一个死不了 但又折磨人的小病.", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "71.1万", |
||||
|
"likes": "1.5万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"死不了", |
||||
|
"小病", |
||||
|
"折磨" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "北京大学", |
||||
|
"description": "北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课", |
||||
|
"hot": "6580", |
||||
|
"plays": "46.5万", |
||||
|
"likes": "5.4万", |
||||
|
"comments": "113", |
||||
|
"hotWords": [ |
||||
|
"旁听生", |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "清华大学", |
||||
|
"description": "清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子", |
||||
|
"hot": "3154", |
||||
|
"plays": "44.2万", |
||||
|
"likes": "8.0万", |
||||
|
"comments": "94", |
||||
|
"hotWords": [ |
||||
|
"点滴", |
||||
|
"校园", |
||||
|
"学生", |
||||
|
"守护" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#年度人物", |
||||
|
"#榜样的力量", |
||||
|
"#校园", |
||||
|
"#青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "北京大学", |
||||
|
"description": "高等量子力学 01 北京大学公开课 高等量子力学 01\n第一章 粒子数表象(上)\n主讲人 田光善 北京大学物理学院教授\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "40.7万", |
||||
|
"likes": "6.9万", |
||||
|
"comments": "673", |
||||
|
"hotWords": [ |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"北京大学", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "平顶山衡水卓越学校", |
||||
|
"description": "学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园", |
||||
|
"hot": "1.7万", |
||||
|
"plays": "39.5万", |
||||
|
"likes": "2.8万", |
||||
|
"comments": "261", |
||||
|
"hotWords": [ |
||||
|
"体验", |
||||
|
"台前幕后", |
||||
|
"学校", |
||||
|
"排练" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#元旦晚会", |
||||
|
"#台前幕后", |
||||
|
"#排练花絮", |
||||
|
"#高中校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "听名字让人以为是985、211的大学 实际上 却是一所专科学院.", |
||||
|
"hot": "1.1万", |
||||
|
"plays": "38.8万", |
||||
|
"likes": "2.0万", |
||||
|
"comments": "629", |
||||
|
"hotWords": [ |
||||
|
"以为", |
||||
|
"大学", |
||||
|
"985", |
||||
|
"211" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样.", |
||||
|
"hot": "12.1万", |
||||
|
"plays": "36.1万", |
||||
|
"likes": "22.4万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"30", |
||||
|
"00", |
||||
|
"还有" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!!", |
||||
|
"hot": "4672", |
||||
|
"plays": "34.7万", |
||||
|
"likes": "1740", |
||||
|
"comments": "1761", |
||||
|
"hotWords": [ |
||||
|
"13", |
||||
|
"而且", |
||||
|
"还是", |
||||
|
"下午" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "深圳市滨海高级中学", |
||||
|
"description": "别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学", |
||||
|
"hot": "33", |
||||
|
"plays": "31.6万", |
||||
|
"likes": "1176", |
||||
|
"comments": "5", |
||||
|
"hotWords": [ |
||||
|
"深圳市", |
||||
|
"学校", |
||||
|
"黄金", |
||||
|
"耽误" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#深圳中考", |
||||
|
"#转学", |
||||
|
"#插班", |
||||
|
"#深圳滨海高中", |
||||
|
"#深圳市滨海高级中学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "北京大学", |
||||
|
"description": "如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴!\n拍摄:周子群\n剪辑:罗榆姗\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利", |
||||
|
"hot": "754", |
||||
|
"plays": "29.6万", |
||||
|
"likes": "5050", |
||||
|
"comments": "9", |
||||
|
"hotWords": [ |
||||
|
"直播", |
||||
|
"运动", |
||||
|
"拍摄", |
||||
|
"子群" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "清华大学", |
||||
|
"description": "我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非\n这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。\n#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格", |
||||
|
"hot": "999", |
||||
|
"plays": "26.0万", |
||||
|
"likes": "4742", |
||||
|
"comments": "59", |
||||
|
"hotWords": [ |
||||
|
"鸡汤", |
||||
|
"理论", |
||||
|
"帮助", |
||||
|
"这节" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#抖音精选公开课", |
||||
|
"#心理学", |
||||
|
"#MBTI", |
||||
|
"#大五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "香港中文大学(深圳)", |
||||
|
"description": "抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上)\n主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩\n这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。\n我们将在1月7日更新第二讲,欢迎追更!\n#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课", |
||||
|
"hot": "1033", |
||||
|
"plays": "22.8万", |
||||
|
"likes": "4075", |
||||
|
"comments": "43", |
||||
|
"hotWords": [ |
||||
|
"现场", |
||||
|
"时空", |
||||
|
"世界", |
||||
|
"之外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#港中深", |
||||
|
"#科学史", |
||||
|
"#牛顿", |
||||
|
"#莱布尼兹", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "冷知识:创造了每个人考试最低纪录的学科 一定是数学!!!", |
||||
|
"hot": "9624", |
||||
|
"plays": "19.2万", |
||||
|
"likes": "2763", |
||||
|
"comments": "2594", |
||||
|
"hotWords": [ |
||||
|
"考试", |
||||
|
"每个人", |
||||
|
"知识", |
||||
|
"纪录" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "许倬云说历史", |
||||
|
"description": "情况坏下去,会引发新的世界大战。", |
||||
|
"hot": "2841", |
||||
|
"plays": "17.9万", |
||||
|
"likes": "3176", |
||||
|
"comments": "61", |
||||
|
"hotWords": [ |
||||
|
"引发", |
||||
|
"下去", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "恩施土家族苗族自治州清江外国语学校", |
||||
|
"description": "下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音!", |
||||
|
"hot": "5774", |
||||
|
"plays": "16.9万", |
||||
|
"likes": "2.2万", |
||||
|
"comments": "459", |
||||
|
"hotWords": [ |
||||
|
"珍贵", |
||||
|
"声音", |
||||
|
"这个", |
||||
|
"冬日" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们.", |
||||
|
"hot": "1.0万", |
||||
|
"plays": "16.2万", |
||||
|
"likes": "2.6万", |
||||
|
"comments": "1190", |
||||
|
"hotWords": [ |
||||
|
"交感神经", |
||||
|
"导致", |
||||
|
"而且", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:2026年出生的孩子 努努力 可以活到3000年!!!", |
||||
|
"hot": "1090", |
||||
|
"plays": "15.2万", |
||||
|
"likes": "342", |
||||
|
"comments": "145", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"努力", |
||||
|
"可以", |
||||
|
"出生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,363 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "校园", |
||||
|
"crawl_time": "2026-01-07T17:31:45.340110", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "清华大学", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "187.1万", |
||||
|
"likes": "9.9万", |
||||
|
"comments": "5965", |
||||
|
"hotWords": [ |
||||
|
"世界", |
||||
|
"我会", |
||||
|
"等你", |
||||
|
"上岸" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#我会等", |
||||
|
"#我会等枯树生出芽开出新的花", |
||||
|
"#校园", |
||||
|
"#上岸" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "男生的哪一个瞬间 让你觉得他特别有教养.", |
||||
|
"hot": "8.1万", |
||||
|
"plays": "148.3万", |
||||
|
"likes": "4.1万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"特别", |
||||
|
"一个", |
||||
|
"瞬间", |
||||
|
"男生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "一个死不了 但又折磨人的小病.", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "71.1万", |
||||
|
"likes": "1.5万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"死不了", |
||||
|
"小病", |
||||
|
"折磨" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "北京大学", |
||||
|
"description": "北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课", |
||||
|
"hot": "6580", |
||||
|
"plays": "46.5万", |
||||
|
"likes": "5.4万", |
||||
|
"comments": "113", |
||||
|
"hotWords": [ |
||||
|
"旁听生", |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "清华大学", |
||||
|
"description": "清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子", |
||||
|
"hot": "3154", |
||||
|
"plays": "44.2万", |
||||
|
"likes": "8.0万", |
||||
|
"comments": "94", |
||||
|
"hotWords": [ |
||||
|
"点滴", |
||||
|
"校园", |
||||
|
"学生", |
||||
|
"守护" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#年度人物", |
||||
|
"#榜样的力量", |
||||
|
"#校园", |
||||
|
"#青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "北京大学", |
||||
|
"description": "高等量子力学 01 北京大学公开课 高等量子力学 01\n第一章 粒子数表象(上)\n主讲人 田光善 北京大学物理学院教授\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "40.7万", |
||||
|
"likes": "6.9万", |
||||
|
"comments": "673", |
||||
|
"hotWords": [ |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"北京大学", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "平顶山衡水卓越学校", |
||||
|
"description": "学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园", |
||||
|
"hot": "1.7万", |
||||
|
"plays": "39.5万", |
||||
|
"likes": "2.8万", |
||||
|
"comments": "261", |
||||
|
"hotWords": [ |
||||
|
"体验", |
||||
|
"台前幕后", |
||||
|
"学校", |
||||
|
"排练" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#元旦晚会", |
||||
|
"#台前幕后", |
||||
|
"#排练花絮", |
||||
|
"#高中校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "听名字让人以为是985、211的大学 实际上 却是一所专科学院.", |
||||
|
"hot": "1.1万", |
||||
|
"plays": "38.8万", |
||||
|
"likes": "2.0万", |
||||
|
"comments": "629", |
||||
|
"hotWords": [ |
||||
|
"以为", |
||||
|
"大学", |
||||
|
"985", |
||||
|
"211" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样.", |
||||
|
"hot": "12.1万", |
||||
|
"plays": "36.1万", |
||||
|
"likes": "22.4万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"30", |
||||
|
"00", |
||||
|
"还有" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!!", |
||||
|
"hot": "4672", |
||||
|
"plays": "34.7万", |
||||
|
"likes": "1744", |
||||
|
"comments": "1761", |
||||
|
"hotWords": [ |
||||
|
"13", |
||||
|
"而且", |
||||
|
"还是", |
||||
|
"下午" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "深圳市滨海高级中学", |
||||
|
"description": "别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学", |
||||
|
"hot": "33", |
||||
|
"plays": "31.6万", |
||||
|
"likes": "1176", |
||||
|
"comments": "5", |
||||
|
"hotWords": [ |
||||
|
"深圳市", |
||||
|
"学校", |
||||
|
"黄金", |
||||
|
"耽误" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#深圳中考", |
||||
|
"#转学", |
||||
|
"#插班", |
||||
|
"#深圳滨海高中", |
||||
|
"#深圳市滨海高级中学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "北京大学", |
||||
|
"description": "如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴!\n拍摄:周子群\n剪辑:罗榆姗\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利", |
||||
|
"hot": "754", |
||||
|
"plays": "29.6万", |
||||
|
"likes": "5050", |
||||
|
"comments": "9", |
||||
|
"hotWords": [ |
||||
|
"直播", |
||||
|
"运动", |
||||
|
"拍摄", |
||||
|
"子群" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "清华大学", |
||||
|
"description": "我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非\n这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。\n#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格", |
||||
|
"hot": "999", |
||||
|
"plays": "26.0万", |
||||
|
"likes": "4747", |
||||
|
"comments": "59", |
||||
|
"hotWords": [ |
||||
|
"鸡汤", |
||||
|
"理论", |
||||
|
"帮助", |
||||
|
"这节" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#抖音精选公开课", |
||||
|
"#心理学", |
||||
|
"#MBTI", |
||||
|
"#大五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "香港中文大学(深圳)", |
||||
|
"description": "抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上)\n主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩\n这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。\n我们将在1月7日更新第二讲,欢迎追更!\n#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课", |
||||
|
"hot": "1033", |
||||
|
"plays": "22.8万", |
||||
|
"likes": "4076", |
||||
|
"comments": "43", |
||||
|
"hotWords": [ |
||||
|
"现场", |
||||
|
"时空", |
||||
|
"世界", |
||||
|
"之外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#港中深", |
||||
|
"#科学史", |
||||
|
"#牛顿", |
||||
|
"#莱布尼兹", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "冷知识:创造了每个人考试最低纪录的学科 一定是数学!!!", |
||||
|
"hot": "9624", |
||||
|
"plays": "19.2万", |
||||
|
"likes": "2763", |
||||
|
"comments": "2594", |
||||
|
"hotWords": [ |
||||
|
"考试", |
||||
|
"每个人", |
||||
|
"知识", |
||||
|
"纪录" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "许倬云说历史", |
||||
|
"description": "情况坏下去,会引发新的世界大战。", |
||||
|
"hot": "2841", |
||||
|
"plays": "17.9万", |
||||
|
"likes": "3181", |
||||
|
"comments": "61", |
||||
|
"hotWords": [ |
||||
|
"引发", |
||||
|
"下去", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "恩施土家族苗族自治州清江外国语学校", |
||||
|
"description": "下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音!", |
||||
|
"hot": "5774", |
||||
|
"plays": "16.9万", |
||||
|
"likes": "2.2万", |
||||
|
"comments": "459", |
||||
|
"hotWords": [ |
||||
|
"珍贵", |
||||
|
"声音", |
||||
|
"这个", |
||||
|
"冬日" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们.", |
||||
|
"hot": "1.0万", |
||||
|
"plays": "16.2万", |
||||
|
"likes": "2.6万", |
||||
|
"comments": "1190", |
||||
|
"hotWords": [ |
||||
|
"交感神经", |
||||
|
"导致", |
||||
|
"而且", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:2026年出生的孩子 努努力 可以活到3000年!!!", |
||||
|
"hot": "1090", |
||||
|
"plays": "15.2万", |
||||
|
"likes": "342", |
||||
|
"comments": "145", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"努力", |
||||
|
"可以", |
||||
|
"出生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 2.
|
@ -0,0 +1,403 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"page_title": "抖音创作指导 - 热门视频", |
||||
|
"category": "校园", |
||||
|
"platform": "douyin", |
||||
|
"crawl_time": "2026-01-07T17:40:13.275219", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "清华大学", |
||||
|
"description": "我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "187.1万", |
||||
|
"likes": "9.9万", |
||||
|
"comments": "5965", |
||||
|
"hotWords": [ |
||||
|
"世界", |
||||
|
"我会", |
||||
|
"等你", |
||||
|
"上岸" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#我会等", |
||||
|
"#我会等枯树生出芽开出新的花", |
||||
|
"#校园", |
||||
|
"#上岸" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "男生的哪一个瞬间 让你觉得他特别有教养.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "8.1万", |
||||
|
"plays": "148.3万", |
||||
|
"likes": "4.1万", |
||||
|
"comments": "1.4万", |
||||
|
"hotWords": [ |
||||
|
"特别", |
||||
|
"一个", |
||||
|
"瞬间", |
||||
|
"男生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "一个死不了 但又折磨人的小病.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "2.5万", |
||||
|
"plays": "71.1万", |
||||
|
"likes": "1.5万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"死不了", |
||||
|
"小病", |
||||
|
"折磨" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "北京大学", |
||||
|
"description": "北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "6580", |
||||
|
"plays": "46.5万", |
||||
|
"likes": "5.4万", |
||||
|
"comments": "113", |
||||
|
"hotWords": [ |
||||
|
"旁听生", |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "清华大学", |
||||
|
"description": "清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "3154", |
||||
|
"plays": "44.2万", |
||||
|
"likes": "8.0万", |
||||
|
"comments": "94", |
||||
|
"hotWords": [ |
||||
|
"点滴", |
||||
|
"校园", |
||||
|
"学生", |
||||
|
"守护" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#年度人物", |
||||
|
"#榜样的力量", |
||||
|
"#校园", |
||||
|
"#青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "北京大学", |
||||
|
"description": "高等量子力学 01 北京大学公开课 高等量子力学 01\n第一章 粒子数表象(上)\n主讲人 田光善 北京大学物理学院教授\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "40.7万", |
||||
|
"likes": "6.9万", |
||||
|
"comments": "673", |
||||
|
"hotWords": [ |
||||
|
"抖音", |
||||
|
"APP", |
||||
|
"北京大学", |
||||
|
"上抖音" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "平顶山衡水卓越学校", |
||||
|
"description": "学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/149963539750595?sec_uid=MS4wLjABAAAAJ5uCA1JK5Tchrw0aqKcYt4a8hym-Gbw37LGWilX708k", |
||||
|
"duration": "", |
||||
|
"hot": "1.7万", |
||||
|
"plays": "39.5万", |
||||
|
"likes": "2.8万", |
||||
|
"comments": "261", |
||||
|
"hotWords": [ |
||||
|
"体验", |
||||
|
"台前幕后", |
||||
|
"学校", |
||||
|
"排练" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#元旦晚会", |
||||
|
"#台前幕后", |
||||
|
"#排练花絮", |
||||
|
"#高中校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "听名字让人以为是985、211的大学 实际上 却是一所专科学院.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1.1万", |
||||
|
"plays": "38.8万", |
||||
|
"likes": "2.0万", |
||||
|
"comments": "629", |
||||
|
"hotWords": [ |
||||
|
"以为", |
||||
|
"大学", |
||||
|
"985", |
||||
|
"211" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "12.1万", |
||||
|
"plays": "36.1万", |
||||
|
"likes": "22.4万", |
||||
|
"comments": "1.0万", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"30", |
||||
|
"00", |
||||
|
"还有" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "4672", |
||||
|
"plays": "34.7万", |
||||
|
"likes": "1757", |
||||
|
"comments": "1761", |
||||
|
"hotWords": [ |
||||
|
"13", |
||||
|
"而且", |
||||
|
"还是", |
||||
|
"下午" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "深圳市滨海高级中学", |
||||
|
"description": "别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/103998100702?sec_uid=MS4wLjABAAAAdw5kmMas6SsqLrRoWxY8i55SVv2HjqOPoqGE0V_f_Ok", |
||||
|
"duration": "", |
||||
|
"hot": "33", |
||||
|
"plays": "31.6万", |
||||
|
"likes": "1176", |
||||
|
"comments": "5", |
||||
|
"hotWords": [ |
||||
|
"深圳市", |
||||
|
"学校", |
||||
|
"黄金", |
||||
|
"耽误" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#深圳中考", |
||||
|
"#转学", |
||||
|
"#插班", |
||||
|
"#深圳滨海高中", |
||||
|
"#深圳市滨海高级中学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "北京大学", |
||||
|
"description": "如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴!\n拍摄:周子群\n剪辑:罗榆姗\n#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8", |
||||
|
"duration": "", |
||||
|
"hot": "754", |
||||
|
"plays": "29.6万", |
||||
|
"likes": "5050", |
||||
|
"comments": "9", |
||||
|
"hotWords": [ |
||||
|
"直播", |
||||
|
"运动", |
||||
|
"拍摄", |
||||
|
"子群" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#北大科学夜", |
||||
|
"#抖音公开课", |
||||
|
"#抖音知识年终大赏", |
||||
|
"#上抖音精选APP看懂前沿科技", |
||||
|
"#抖音精选宠粉福利" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "清华大学", |
||||
|
"description": "我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非\n这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。\n#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q", |
||||
|
"duration": "", |
||||
|
"hot": "999", |
||||
|
"plays": "26.0万", |
||||
|
"likes": "4751", |
||||
|
"comments": "59", |
||||
|
"hotWords": [ |
||||
|
"鸡汤", |
||||
|
"理论", |
||||
|
"帮助", |
||||
|
"这节" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#清华大学", |
||||
|
"#抖音精选公开课", |
||||
|
"#心理学", |
||||
|
"#MBTI", |
||||
|
"#大五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "香港中文大学(深圳)", |
||||
|
"description": "抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上)\n主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩\n这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。\n我们将在1月7日更新第二讲,欢迎追更!\n#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/98767889840?sec_uid=MS4wLjABAAAAoHqvR5jtul4gE7nsMsamX8RoQnCyxDOZrULLjOIyKFs", |
||||
|
"duration": "", |
||||
|
"hot": "1033", |
||||
|
"plays": "22.8万", |
||||
|
"likes": "4076", |
||||
|
"comments": "43", |
||||
|
"hotWords": [ |
||||
|
"现场", |
||||
|
"时空", |
||||
|
"世界", |
||||
|
"之外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#港中深", |
||||
|
"#科学史", |
||||
|
"#牛顿", |
||||
|
"#莱布尼兹", |
||||
|
"#抖音精选公开课" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "冷知识:创造了每个人考试最低纪录的学科 一定是数学!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "9624", |
||||
|
"plays": "19.2万", |
||||
|
"likes": "2772", |
||||
|
"comments": "2594", |
||||
|
"hotWords": [ |
||||
|
"考试", |
||||
|
"每个人", |
||||
|
"知识", |
||||
|
"纪录" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "许倬云说历史", |
||||
|
"description": "情况坏下去,会引发新的世界大战。", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/101237739048?sec_uid=MS4wLjABAAAAglLS3eWFNADOa1rjZDlcdBValO7DF4u0447LWjzSALc", |
||||
|
"duration": "", |
||||
|
"hot": "2841", |
||||
|
"plays": "17.9万", |
||||
|
"likes": "3197", |
||||
|
"comments": "61", |
||||
|
"hotWords": [ |
||||
|
"引发", |
||||
|
"下去", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "恩施土家族苗族自治州清江外国语学校", |
||||
|
"description": "下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/65241602915?sec_uid=MS4wLjABAAAAlAIlXaaYTb8p_vPuGurfonv_FyMBR1pV44gdrpOJI7Y", |
||||
|
"duration": "", |
||||
|
"hot": "5774", |
||||
|
"plays": "16.9万", |
||||
|
"likes": "2.2万", |
||||
|
"comments": "459", |
||||
|
"hotWords": [ |
||||
|
"珍贵", |
||||
|
"声音", |
||||
|
"这个", |
||||
|
"冬日" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们.", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1.0万", |
||||
|
"plays": "16.2万", |
||||
|
"likes": "2.6万", |
||||
|
"comments": "1190", |
||||
|
"hotWords": [ |
||||
|
"交感神经", |
||||
|
"导致", |
||||
|
"而且", |
||||
|
"情况" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "Lily Peng", |
||||
|
"description": "突然意识到:2026年出生的孩子 努努力 可以活到3000年!!!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL", |
||||
|
"duration": "", |
||||
|
"hot": "1090", |
||||
|
"plays": "15.2万", |
||||
|
"likes": "344", |
||||
|
"comments": "145", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"努力", |
||||
|
"可以", |
||||
|
"出生" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,218 @@ |
|||||
|
抖音创作指导 - 热门视频列表 |
||||
|
页面: https://creator.douyin.com/creator-micro/creative-guidance |
||||
|
分类: 校园 |
||||
|
抓取时间: 2026-01-07 17:40:13 |
||||
|
视频总数: 19 |
||||
|
================================================================================ |
||||
|
|
||||
|
视频 1: |
||||
|
作者: 清华大学 |
||||
|
描述: 我会等! 等枯树生出芽,等你来清华!一起看外面世界到底多大~#清华大学 #我会等 #我会等枯树生出芽开出新的花 #校园 #上岸 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 2.5万 |
||||
|
播放量: 187.1万 |
||||
|
点赞: 9.9万 |
||||
|
评论: 5965 |
||||
|
标签: #清华大学, #我会等, #我会等枯树生出芽开出新的花, #校园, #上岸 |
||||
|
热词: 世界, 我会, 等你, 上岸 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 2: |
||||
|
作者: Lily Peng |
||||
|
描述: 男生的哪一个瞬间 让你觉得他特别有教养. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 8.1万 |
||||
|
播放量: 148.3万 |
||||
|
点赞: 4.1万 |
||||
|
评论: 1.4万 |
||||
|
热词: 特别, 一个, 瞬间, 男生 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 4: |
||||
|
作者: Lily Peng |
||||
|
描述: 一个死不了 但又折磨人的小病. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 2.5万 |
||||
|
播放量: 71.1万 |
||||
|
点赞: 1.5万 |
||||
|
评论: 1.1万 |
||||
|
热词: 死不了, 小病, 折磨 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 5: |
||||
|
作者: 北京大学 |
||||
|
描述: 北大线上“旁听生”,线下到北大! 当一个小学老师,因为一个月看了24 小时北大公开课,被请到北大是一种怎么样的体验?#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 #抖音精选公开课 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 6580 |
||||
|
播放量: 46.5万 |
||||
|
点赞: 5.4万 |
||||
|
评论: 113 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技, #抖音精选宠粉福利, #抖音精选公开课 |
||||
|
热词: 旁听生, 抖音, APP, 上抖音 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 6: |
||||
|
作者: 清华大学 |
||||
|
描述: 清华2025学生年度人物揭晓! 在实验室挑战前沿的庞众望、在赛场上跨越极限的邵雨琪、携笔从戎守护山河的肖航、将个人成长融入国家发展的向云飞……从个人点滴到集体群像,每一个故事都是清华精神的生动注脚。愿这些光亮照见来路,亦照亮远方!#清华大学 #年度人物 #榜样的力量 #校园 #青春的样子 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 3154 |
||||
|
播放量: 44.2万 |
||||
|
点赞: 8.0万 |
||||
|
评论: 94 |
||||
|
标签: #清华大学, #年度人物, #榜样的力量, #校园, #青春的样子 |
||||
|
热词: 点滴, 校园, 学生, 守护 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 7: |
||||
|
作者: 北京大学 |
||||
|
描述: 高等量子力学 01 北京大学公开课 高等量子力学 01 |
||||
|
第一章 粒子数表象(上) |
||||
|
主讲人 田光善 北京大学物理学院教授 |
||||
|
#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 2.7万 |
||||
|
播放量: 40.7万 |
||||
|
点赞: 6.9万 |
||||
|
评论: 673 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技 |
||||
|
热词: 抖音, APP, 北京大学, 上抖音 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 8: |
||||
|
作者: 平顶山衡水卓越学校 |
||||
|
描述: 学校花费一个月时间为学生们准备元旦晚会,是种什么样的体验? #元旦晚会 #台前幕后 #排练花絮 #高中校园 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/149963539750595?sec_uid=MS4wLjABAAAAJ5uCA1JK5Tchrw0aqKcYt4a8hym-Gbw37LGWilX708k |
||||
|
热度: 1.7万 |
||||
|
播放量: 39.5万 |
||||
|
点赞: 2.8万 |
||||
|
评论: 261 |
||||
|
标签: #元旦晚会, #台前幕后, #排练花絮, #高中校园 |
||||
|
热词: 体验, 台前幕后, 学校, 排练 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 9: |
||||
|
作者: Lily Peng |
||||
|
描述: 听名字让人以为是985、211的大学 实际上 却是一所专科学院. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1.1万 |
||||
|
播放量: 38.8万 |
||||
|
点赞: 2.0万 |
||||
|
评论: 629 |
||||
|
热词: 以为, 大学, 985, 211 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 10: |
||||
|
作者: Lily Peng |
||||
|
描述: 突然意识到:还有4年30后就出生了 30后看00后就像00后看70后一样. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 12.1万 |
||||
|
播放量: 36.1万 |
||||
|
点赞: 22.4万 |
||||
|
评论: 1.0万 |
||||
|
热词: 突然, 30, 00, 还有 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 11: |
||||
|
作者: Lily Peng |
||||
|
描述: 1月13号下午 我们学校4点放寒假 而且还是职高 求超越!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 4672 |
||||
|
播放量: 34.7万 |
||||
|
点赞: 1757 |
||||
|
评论: 1761 |
||||
|
热词: 13, 而且, 还是, 下午 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 12: |
||||
|
作者: 深圳市滨海高级中学 |
||||
|
描述: 别让不适合的学校,耽误孩子的黄金三年!(一) #深圳中考 #转学 #插班 #深圳滨海高中 #深圳市滨海高级中学 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/103998100702?sec_uid=MS4wLjABAAAAdw5kmMas6SsqLrRoWxY8i55SVv2HjqOPoqGE0V_f_Ok |
||||
|
热度: 33 |
||||
|
播放量: 31.6万 |
||||
|
点赞: 1176 |
||||
|
评论: 5 |
||||
|
标签: #深圳中考, #转学, #插班, #深圳滨海高中, #深圳市滨海高级中学 |
||||
|
热词: 深圳市, 学校, 黄金, 耽误 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 13: |
||||
|
作者: 北京大学 |
||||
|
描述: 如何让机器人像人一样运动和思考? 让我们跟着北京大学计算机学院仉尚航老师一同探秘如何构建一个面向具身智能的大脑模型。12月29日晚,上抖音精选,北大科学yeah直播邀你共赴! |
||||
|
拍摄:周子群 |
||||
|
剪辑:罗榆姗 |
||||
|
#北大科学夜 #抖音公开课 #抖音知识年终大赏 #上抖音精选APP看懂前沿科技 #抖音精选宠粉福利 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/102334023579?sec_uid=MS4wLjABAAAA0p2KVQFjTJBJQXglI8tc6OOt4i9O-j9Bd7GMki9NWo8 |
||||
|
热度: 754 |
||||
|
播放量: 29.6万 |
||||
|
点赞: 5050 |
||||
|
评论: 9 |
||||
|
标签: #北大科学夜, #抖音公开课, #抖音知识年终大赏, #上抖音精选APP看懂前沿科技, #抖音精选宠粉福利 |
||||
|
热词: 直播, 运动, 拍摄, 子群 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 14: |
||||
|
作者: 清华大学 |
||||
|
描述: 我,为何是我?一门清华人格心理学课,拆解你的人生剧本! 清华大学《人格心理学:解锁你的性格密码》第2讲(共2讲)主讲人:清华大学心理与认知科学系长聘副教授王非 |
||||
|
这堂清华大学《人格心理学》,带你从科学角度拆解当下流行的MBTI性格理论,并运用大五人格理论,帮助你看懂人类的“出厂设置”。在这里,没有鸡汤,只有科学。听完这节课,理解“我们”何以不同。 |
||||
|
#清华大学 #抖音精选公开课 #心理学 #MBTI #大五人格 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100746744340?sec_uid=MS4wLjABAAAADPpMCOWGL4ujoEiYrjYKjDQsbWr8QBeW321UxLW-T5Q |
||||
|
热度: 999 |
||||
|
播放量: 26.0万 |
||||
|
点赞: 4751 |
||||
|
评论: 59 |
||||
|
标签: #清华大学, #抖音精选公开课, #心理学, #MBTI, #大五人格 |
||||
|
热词: 鸡汤, 理论, 帮助, 这节 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 15: |
||||
|
作者: 香港中文大学(深圳) |
||||
|
描述: 抖音精选独家:港中大(深圳)公开课,谁在定义时间和空间(上) 《谁在定义时间和空间?牛顿与莱布尼兹的世纪对话》(上) |
||||
|
主讲人:香港中文大学(深圳)人文社科学院助理教授——胡晓倩 |
||||
|
这堂课带你重回科学史上的关键现场,看牛顿与莱布尼兹如何围绕时间与空间展开“世纪之争”。从绝对时空到相对思维、从数学原理到哲学追问,这绝不是一场简单的胜负,而是一次改变人类认知的对话。公式与定理之外,更不能忽略的是科学背后那个时代的勇气、争议与突破。理解他们,相当于理解我们今天看待世界的方式从何而来。 |
||||
|
我们将在1月7日更新第二讲,欢迎追更! |
||||
|
#港中深 #科学史 #牛顿 #莱布尼兹 #抖音精选公开课 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/98767889840?sec_uid=MS4wLjABAAAAoHqvR5jtul4gE7nsMsamX8RoQnCyxDOZrULLjOIyKFs |
||||
|
热度: 1033 |
||||
|
播放量: 22.8万 |
||||
|
点赞: 4076 |
||||
|
评论: 43 |
||||
|
标签: #港中深, #科学史, #牛顿, #莱布尼兹, #抖音精选公开课 |
||||
|
热词: 现场, 时空, 世界, 之外 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 16: |
||||
|
作者: Lily Peng |
||||
|
描述: 冷知识:创造了每个人考试最低纪录的学科 一定是数学!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 9624 |
||||
|
播放量: 19.2万 |
||||
|
点赞: 2772 |
||||
|
评论: 2594 |
||||
|
热词: 考试, 每个人, 知识, 纪录 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 17: |
||||
|
作者: 许倬云说历史 |
||||
|
描述: 情况坏下去,会引发新的世界大战。 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/101237739048?sec_uid=MS4wLjABAAAAglLS3eWFNADOa1rjZDlcdBValO7DF4u0447LWjzSALc |
||||
|
热度: 2841 |
||||
|
播放量: 17.9万 |
||||
|
点赞: 3197 |
||||
|
评论: 61 |
||||
|
热词: 引发, 下去, 情况 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 18: |
||||
|
作者: 恩施土家族苗族自治州清江外国语学校 |
||||
|
描述: 下集丨这份双向的理解与牵挂,才是这个元旦最珍贵的礼物。他们都是这份冬日里最温柔的声音! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/65241602915?sec_uid=MS4wLjABAAAAlAIlXaaYTb8p_vPuGurfonv_FyMBR1pV44gdrpOJI7Y |
||||
|
热度: 5774 |
||||
|
播放量: 16.9万 |
||||
|
点赞: 2.2万 |
||||
|
评论: 459 |
||||
|
热词: 珍贵, 声音, 这个, 冬日 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 19: |
||||
|
作者: Lily Peng |
||||
|
描述: 经常熬夜到三四点 一般会猝死 正常人每天的睡眠时间 在六个小时到八个小时左右 经常熬夜到三四点 有可能导致患者 出现身体疲乏的情况 而且还有可能 会使交感神经兴奋 导致血压升高心率加快 增加患者猝死的几率 所以呢别熬夜了 宝宝们. |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1.0万 |
||||
|
播放量: 16.2万 |
||||
|
点赞: 2.6万 |
||||
|
评论: 1190 |
||||
|
热词: 交感神经, 导致, 而且, 情况 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 20: |
||||
|
作者: Lily Peng |
||||
|
描述: 突然意识到:2026年出生的孩子 努努力 可以活到3000年!!! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3355314087006819?sec_uid=MS4wLjABAAAApAyBpRYXbMj0jMC3uqNGO-0xC2Xfzla1UpZ-ClxuDvi_1Q4lCzMMITblgqHGEaxL |
||||
|
热度: 1090 |
||||
|
播放量: 15.2万 |
||||
|
点赞: 344 |
||||
|
评论: 145 |
||||
|
热词: 突然, 努力, 可以, 出生 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 2.
|
@ -0,0 +1,413 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"page_title": "抖音创作指导 - 热门视频", |
||||
|
"category": "汽车", |
||||
|
"platform": "douyin", |
||||
|
"crawl_time": "2026-01-07T11:31:27.335581", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "MR-白冰", |
||||
|
"description": "2026 白冰烟花测评!", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/52142525454?sec_uid=MS4wLjABAAAAKmoXR2meL6sPH1yO7Xdbg82NAc-wGe7XliWXXudB_N0", |
||||
|
"duration": "", |
||||
|
"hot": "21.0万", |
||||
|
"plays": "580.1万", |
||||
|
"likes": "480.2万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"烟花", |
||||
|
"测评", |
||||
|
"2026" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "机车阿乐", |
||||
|
"description": "树的方向风决定 人的方向自己决定 #机车 #第一视角 #骑行vlog", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/100607696377?sec_uid=MS4wLjABAAAAFNpQmDhLZ3e8TrOxjF1zGaGbbQATdPJQmFLK3ySDZEo", |
||||
|
"duration": "", |
||||
|
"hot": "9.3万", |
||||
|
"plays": "501.5万", |
||||
|
"likes": "20.1万", |
||||
|
"comments": "3524", |
||||
|
"hotWords": [ |
||||
|
"方向", |
||||
|
"机车", |
||||
|
"视角", |
||||
|
"骑行" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#机车", |
||||
|
"#第一视角", |
||||
|
"#骑行vlog" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "超哥超车", |
||||
|
"description": "准备2026年买车,这五句话让你看明白! #超哥直播回放 #买车 #智界V9 #钛7 #蔚来ES8", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/2551314069864279?sec_uid=MS4wLjABAAAAQq6ib93Wtn2djbLzgrLnAJJm2TQ4ns4DY-fkUIdvgXffbGp6rMBgeovF__LCKiyT", |
||||
|
"duration": "", |
||||
|
"hot": "6.0万", |
||||
|
"plays": "408.3万", |
||||
|
"likes": "10.2万", |
||||
|
"comments": "1.1万", |
||||
|
"hotWords": [ |
||||
|
"直播", |
||||
|
"明白", |
||||
|
"蔚来", |
||||
|
"V9" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#超哥直播回放", |
||||
|
"#买车", |
||||
|
"#智界V9", |
||||
|
"#钛7", |
||||
|
"#蔚来ES8" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "ficcicc", |
||||
|
"description": "别人选配 岚图标配 #岚图free #我的动漫汽车 #岚图", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/95095216707?sec_uid=MS4wLjABAAAAffwPj3Esw1AnoDOTP96tfvvUjIrLKmAR1VmCrTRH4ww", |
||||
|
"duration": "", |
||||
|
"hot": "1.3万", |
||||
|
"plays": "387.5万", |
||||
|
"likes": "17.2万", |
||||
|
"comments": "338", |
||||
|
"hotWords": [ |
||||
|
"汽车", |
||||
|
"free", |
||||
|
"选配", |
||||
|
"动漫" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#岚图free", |
||||
|
"#我的动漫汽车", |
||||
|
"#岚图" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "你的秘書", |
||||
|
"description": "不要让糟糕的事情毁了愉悦的心情,不管什么事配上bgm你都的跳一段", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/66676617110?sec_uid=MS4wLjABAAAAP1hyDEjk8tJbu7k8hj8rFPj1KFaTPxxTqKSJRvdMWNA", |
||||
|
"duration": "", |
||||
|
"hot": "12.2万", |
||||
|
"plays": "380.2万", |
||||
|
"likes": "364.5万", |
||||
|
"comments": "7968", |
||||
|
"hotWords": [ |
||||
|
"这么", |
||||
|
"研究院", |
||||
|
"知道", |
||||
|
"事情" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "北北机车头", |
||||
|
"description": "#营缆头盔 路遇小土豆!服了哈哈哈!#机车 #女骑 #摩托车", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/510606719595791?sec_uid=MS4wLjABAAAAHGvswYnBx_C0aNAgK-FZRZ4dgRV339dAkuOFj7eUrh0", |
||||
|
"duration": "", |
||||
|
"hot": "1.5万", |
||||
|
"plays": "369.1万", |
||||
|
"likes": "2.1万", |
||||
|
"comments": "1510", |
||||
|
"hotWords": [ |
||||
|
"路遇", |
||||
|
"摩托车", |
||||
|
"营缆", |
||||
|
"哈哈哈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#营缆头盔", |
||||
|
"#机车", |
||||
|
"#女骑", |
||||
|
"#摩托车" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "泉州张教练教车", |
||||
|
"description": "科目三考试 #科目三考试 #科目三考试现场", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/76044545787?sec_uid=MS4wLjABAAAAMR--Gd9_vX4Rl81zJ5-aq6IZzoDLExA29_HHXMkVZBk", |
||||
|
"duration": "", |
||||
|
"hot": "1.3万", |
||||
|
"plays": "327.5万", |
||||
|
"likes": "2.4万", |
||||
|
"comments": "1898", |
||||
|
"hotWords": [ |
||||
|
"考试", |
||||
|
"现场" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#科目三考试", |
||||
|
"#科目三考试现场" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "大鲜汽车讲堂", |
||||
|
"description": "#看福尔摩鲜 自己买的房莫名被出租,物业竟然这样说#物业", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/75624065509?sec_uid=MS4wLjABAAAAQz51UhcKV25-WBOJPzWomvcWQdeZ0GrGOiVav-7fgls", |
||||
|
"duration": "", |
||||
|
"hot": "9523", |
||||
|
"plays": "297.8万", |
||||
|
"likes": "3.1万", |
||||
|
"comments": "787", |
||||
|
"hotWords": [ |
||||
|
"莫名", |
||||
|
"福尔", |
||||
|
"竟然", |
||||
|
"摩鲜" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#看福尔摩鲜", |
||||
|
"#物业" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "小妍", |
||||
|
"description": "#韩国拉拉队 #又美又飒 #活力四射", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3281376078213288?sec_uid=MS4wLjABAAAA8i6p0j82vZMr1TzKLwSFL56_kJZ6QqjMLWr5_zTCwM6R9GNWaTTRKXo2FaVvZFX-", |
||||
|
"duration": "", |
||||
|
"hot": "8737", |
||||
|
"plays": "294.3万", |
||||
|
"likes": "9834", |
||||
|
"comments": "119", |
||||
|
"hotWords": [ |
||||
|
"韩国", |
||||
|
"拉拉队", |
||||
|
"活力" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#韩国拉拉队", |
||||
|
"#又美又飒", |
||||
|
"#活力四射" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "说车夫人", |
||||
|
"description": "去派出所报警遇到态度不好怎么办#交通安全 #交通出行 #驾驶技术", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/4081856110926079?sec_uid=MS4wLjABAAAANuU6MRra3SuzkKNv2nIQJT4B8PIi5mlm1APZuJawvXIs4E9K-c0c9NVlMjotb0J8", |
||||
|
"duration": "", |
||||
|
"hot": "1.5万", |
||||
|
"plays": "278.1万", |
||||
|
"likes": "3.5万", |
||||
|
"comments": "1041", |
||||
|
"hotWords": [ |
||||
|
"出行", |
||||
|
"遇到", |
||||
|
"不好", |
||||
|
"报警" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#交通安全", |
||||
|
"#交通出行", |
||||
|
"#驾驶技术" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "王者CASEYWANG", |
||||
|
"description": "挑战理我的发?这是什么话 #赛车 #赛车手 #理发", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/4375696241596844?sec_uid=MS4wLjABAAAAftSiNSg8_Ye96LKRlB29bjIutk4QWh5UQ3-RFEQcGukXMCeSHg3Z9FZAPEHCN_Ef", |
||||
|
"duration": "", |
||||
|
"hot": "1.2万", |
||||
|
"plays": "250.6万", |
||||
|
"likes": "12.4万", |
||||
|
"comments": "1239", |
||||
|
"hotWords": [ |
||||
|
"什么", |
||||
|
"理发", |
||||
|
"挑战", |
||||
|
"赛车手" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#赛车", |
||||
|
"#赛车手", |
||||
|
"#理发" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "Pink Car", |
||||
|
"description": "BBA只是过过渡#凯雷德 才是最终的归宿#凯迪拉克凯雷德", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/66962411932?sec_uid=MS4wLjABAAAAzKU2rN_IVC1UHIRsY7-vNeOnjf-8wa9HXQoWHSAYnvU", |
||||
|
"duration": "", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "202.6万", |
||||
|
"likes": "2.8万", |
||||
|
"comments": "1482", |
||||
|
"hotWords": [ |
||||
|
"BBA", |
||||
|
"过渡", |
||||
|
"雷德", |
||||
|
"只是" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#凯雷德", |
||||
|
"#凯迪拉克凯雷德" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "济南驾考曾教练", |
||||
|
"description": "这辆05年女士情绪不稳定可把教练吓坏了 #考驾照 #学车考驾照 #驾照 #驾校练车 #济南驾考曾教练", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/77880289719?sec_uid=MS4wLjABAAAAbh0gfe7kzWr4P6bDpu3R-c1yxDsdtbAuvDEg97SFVOw", |
||||
|
"duration": "", |
||||
|
"hot": "26.0万", |
||||
|
"plays": "194.8万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "3600", |
||||
|
"hotWords": [ |
||||
|
"练车", |
||||
|
"学车", |
||||
|
"稳定", |
||||
|
"05" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#考驾照", |
||||
|
"#学车考驾照", |
||||
|
"#驾照", |
||||
|
"#驾校练车", |
||||
|
"#济南驾考曾教练" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "教头不吃鱼", |
||||
|
"description": "一定不要养浣熊。 #机车 #浣熊 #宗申魔方 #雷鸟V3", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/93489291680?sec_uid=MS4wLjABAAAAZXADRcksy2GfF6g2BmV0rgbZAdRbQP9C-Jh2GOgPa2c", |
||||
|
"duration": "", |
||||
|
"hot": "2.9万", |
||||
|
"plays": "176.5万", |
||||
|
"likes": "4.3万", |
||||
|
"comments": "992", |
||||
|
"hotWords": [ |
||||
|
"机车", |
||||
|
"不要", |
||||
|
"视角", |
||||
|
"一定" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#机车", |
||||
|
"#浣熊", |
||||
|
"#宗申魔方", |
||||
|
"#雷鸟V3" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "北北机车头", |
||||
|
"description": "骂人的词都想好了,谁知道她立马就认错!#营缆头盔 #机车 #女骑 #摩托车", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/510606719595791?sec_uid=MS4wLjABAAAAHGvswYnBx_C0aNAgK-FZRZ4dgRV339dAkuOFj7eUrh0", |
||||
|
"duration": "", |
||||
|
"hot": "2807", |
||||
|
"plays": "172.3万", |
||||
|
"likes": "4.1万", |
||||
|
"comments": "162", |
||||
|
"hotWords": [ |
||||
|
"头盔", |
||||
|
"摩托车", |
||||
|
"营缆", |
||||
|
"谁知道" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#营缆头盔", |
||||
|
"#机车", |
||||
|
"#女骑", |
||||
|
"#摩托车" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "车圈阿飞", |
||||
|
"description": "这台车的毛病太奇怪了,一到白天就打不着火 #每天一个汽车知识 #维修保养 #带你懂车", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/51382821707?sec_uid=MS4wLjABAAAAZRALKxF8_GC8KtlYo_Bi3XYmj7AQKJEEAjEuTsuf7YU", |
||||
|
"duration": "", |
||||
|
"hot": "8863", |
||||
|
"plays": "170.2万", |
||||
|
"likes": "3.5万", |
||||
|
"comments": "1054", |
||||
|
"hotWords": [ |
||||
|
"毛病", |
||||
|
"汽车", |
||||
|
"知识", |
||||
|
"奇怪" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#每天一个汽车知识", |
||||
|
"#维修保养", |
||||
|
"#带你懂车" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "痞幼", |
||||
|
"description": "一个字_! #441bw #村gt #合法上路的赛车 #gtr", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/53593622863?sec_uid=MS4wLjABAAAA5nlrikvsSVMoUkfoAkzlv0dL3szJpRyY7zKjgn3iKg8", |
||||
|
"duration": "", |
||||
|
"hot": "2.8万", |
||||
|
"plays": "164.7万", |
||||
|
"likes": "274.3万", |
||||
|
"comments": "746", |
||||
|
"hotWords": [ |
||||
|
"441bw", |
||||
|
"上路", |
||||
|
"一个", |
||||
|
"gt" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#441bw", |
||||
|
"#村gt", |
||||
|
"#合法上路的赛车", |
||||
|
"#gtr" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "黄小黄驾到", |
||||
|
"description": "奥迪销冠反砍大众销冠,女人就要为难女人! #汽车人共创计划", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/71622937020?sec_uid=MS4wLjABAAAA0rop6LP0MSpT6I3hlSX5FSVSdEmhrqOte886vNrwazc", |
||||
|
"duration": "", |
||||
|
"hot": "2.0万", |
||||
|
"plays": "155.1万", |
||||
|
"likes": "24.7万", |
||||
|
"comments": "783", |
||||
|
"hotWords": [ |
||||
|
"女人", |
||||
|
"共创", |
||||
|
"计划", |
||||
|
"奥迪" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#汽车人共创计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "三太", |
||||
|
"description": "有忠有义 富贵荣华", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/107772513145?sec_uid=MS4wLjABAAAA4efGIViZk_e6JHhJ22vq4Bbu5orVArFHm4WSgxR54qw", |
||||
|
"duration": "", |
||||
|
"hot": "2.9万", |
||||
|
"plays": "150.2万", |
||||
|
"likes": "6.1万", |
||||
|
"comments": "646", |
||||
|
"hotWords": [ |
||||
|
"有忠", |
||||
|
"富贵荣华" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,213 @@ |
|||||
|
抖音创作指导 - 热门视频列表 |
||||
|
页面: https://creator.douyin.com/creator-micro/creative-guidance |
||||
|
分类: 汽车 |
||||
|
抓取时间: 2026-01-07 11:31:27 |
||||
|
视频总数: 19 |
||||
|
================================================================================ |
||||
|
|
||||
|
视频 1: |
||||
|
作者: MR-白冰 |
||||
|
描述: 2026 白冰烟花测评! |
||||
|
作者链接: https://www.iesdouyin.com/share/user/52142525454?sec_uid=MS4wLjABAAAAKmoXR2meL6sPH1yO7Xdbg82NAc-wGe7XliWXXudB_N0 |
||||
|
热度: 21.0万 |
||||
|
播放量: 580.1万 |
||||
|
点赞: 480.2万 |
||||
|
评论: 1.1万 |
||||
|
热词: 烟花, 测评, 2026 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 2: |
||||
|
作者: 机车阿乐 |
||||
|
描述: 树的方向风决定 人的方向自己决定 #机车 #第一视角 #骑行vlog |
||||
|
作者链接: https://www.iesdouyin.com/share/user/100607696377?sec_uid=MS4wLjABAAAAFNpQmDhLZ3e8TrOxjF1zGaGbbQATdPJQmFLK3ySDZEo |
||||
|
热度: 9.3万 |
||||
|
播放量: 501.5万 |
||||
|
点赞: 20.1万 |
||||
|
评论: 3524 |
||||
|
标签: #机车, #第一视角, #骑行vlog |
||||
|
热词: 方向, 机车, 视角, 骑行 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 3: |
||||
|
作者: 超哥超车 |
||||
|
描述: 准备2026年买车,这五句话让你看明白! #超哥直播回放 #买车 #智界V9 #钛7 #蔚来ES8 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/2551314069864279?sec_uid=MS4wLjABAAAAQq6ib93Wtn2djbLzgrLnAJJm2TQ4ns4DY-fkUIdvgXffbGp6rMBgeovF__LCKiyT |
||||
|
热度: 6.0万 |
||||
|
播放量: 408.3万 |
||||
|
点赞: 10.2万 |
||||
|
评论: 1.1万 |
||||
|
标签: #超哥直播回放, #买车, #智界V9, #钛7, #蔚来ES8 |
||||
|
热词: 直播, 明白, 蔚来, V9 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 4: |
||||
|
作者: ficcicc |
||||
|
描述: 别人选配 岚图标配 #岚图free #我的动漫汽车 #岚图 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/95095216707?sec_uid=MS4wLjABAAAAffwPj3Esw1AnoDOTP96tfvvUjIrLKmAR1VmCrTRH4ww |
||||
|
热度: 1.3万 |
||||
|
播放量: 387.5万 |
||||
|
点赞: 17.2万 |
||||
|
评论: 338 |
||||
|
标签: #岚图free, #我的动漫汽车, #岚图 |
||||
|
热词: 汽车, free, 选配, 动漫 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 5: |
||||
|
作者: 你的秘書 |
||||
|
描述: 不要让糟糕的事情毁了愉悦的心情,不管什么事配上bgm你都的跳一段 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/66676617110?sec_uid=MS4wLjABAAAAP1hyDEjk8tJbu7k8hj8rFPj1KFaTPxxTqKSJRvdMWNA |
||||
|
热度: 12.2万 |
||||
|
播放量: 380.2万 |
||||
|
点赞: 364.5万 |
||||
|
评论: 7968 |
||||
|
热词: 这么, 研究院, 知道, 事情 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 6: |
||||
|
作者: 北北机车头 |
||||
|
描述: #营缆头盔 路遇小土豆!服了哈哈哈!#机车 #女骑 #摩托车 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/510606719595791?sec_uid=MS4wLjABAAAAHGvswYnBx_C0aNAgK-FZRZ4dgRV339dAkuOFj7eUrh0 |
||||
|
热度: 1.5万 |
||||
|
播放量: 369.1万 |
||||
|
点赞: 2.1万 |
||||
|
评论: 1510 |
||||
|
标签: #营缆头盔, #机车, #女骑, #摩托车 |
||||
|
热词: 路遇, 摩托车, 营缆, 哈哈哈 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 7: |
||||
|
作者: 泉州张教练教车 |
||||
|
描述: 科目三考试 #科目三考试 #科目三考试现场 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/76044545787?sec_uid=MS4wLjABAAAAMR--Gd9_vX4Rl81zJ5-aq6IZzoDLExA29_HHXMkVZBk |
||||
|
热度: 1.3万 |
||||
|
播放量: 327.5万 |
||||
|
点赞: 2.4万 |
||||
|
评论: 1898 |
||||
|
标签: #科目三考试, #科目三考试现场 |
||||
|
热词: 考试, 现场 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 8: |
||||
|
作者: 大鲜汽车讲堂 |
||||
|
描述: #看福尔摩鲜 自己买的房莫名被出租,物业竟然这样说#物业 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/75624065509?sec_uid=MS4wLjABAAAAQz51UhcKV25-WBOJPzWomvcWQdeZ0GrGOiVav-7fgls |
||||
|
热度: 9523 |
||||
|
播放量: 297.8万 |
||||
|
点赞: 3.1万 |
||||
|
评论: 787 |
||||
|
标签: #看福尔摩鲜, #物业 |
||||
|
热词: 莫名, 福尔, 竟然, 摩鲜 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 9: |
||||
|
作者: 小妍 |
||||
|
描述: #韩国拉拉队 #又美又飒 #活力四射 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3281376078213288?sec_uid=MS4wLjABAAAA8i6p0j82vZMr1TzKLwSFL56_kJZ6QqjMLWr5_zTCwM6R9GNWaTTRKXo2FaVvZFX- |
||||
|
热度: 8737 |
||||
|
播放量: 294.3万 |
||||
|
点赞: 9834 |
||||
|
评论: 119 |
||||
|
标签: #韩国拉拉队, #又美又飒, #活力四射 |
||||
|
热词: 韩国, 拉拉队, 活力 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 10: |
||||
|
作者: 说车夫人 |
||||
|
描述: 去派出所报警遇到态度不好怎么办#交通安全 #交通出行 #驾驶技术 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/4081856110926079?sec_uid=MS4wLjABAAAANuU6MRra3SuzkKNv2nIQJT4B8PIi5mlm1APZuJawvXIs4E9K-c0c9NVlMjotb0J8 |
||||
|
热度: 1.5万 |
||||
|
播放量: 278.1万 |
||||
|
点赞: 3.5万 |
||||
|
评论: 1041 |
||||
|
标签: #交通安全, #交通出行, #驾驶技术 |
||||
|
热词: 出行, 遇到, 不好, 报警 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 11: |
||||
|
作者: 王者CASEYWANG |
||||
|
描述: 挑战理我的发?这是什么话 #赛车 #赛车手 #理发 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/4375696241596844?sec_uid=MS4wLjABAAAAftSiNSg8_Ye96LKRlB29bjIutk4QWh5UQ3-RFEQcGukXMCeSHg3Z9FZAPEHCN_Ef |
||||
|
热度: 1.2万 |
||||
|
播放量: 250.6万 |
||||
|
点赞: 12.4万 |
||||
|
评论: 1239 |
||||
|
标签: #赛车, #赛车手, #理发 |
||||
|
热词: 什么, 理发, 挑战, 赛车手 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 12: |
||||
|
作者: Pink Car |
||||
|
描述: BBA只是过过渡#凯雷德 才是最终的归宿#凯迪拉克凯雷德 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/66962411932?sec_uid=MS4wLjABAAAAzKU2rN_IVC1UHIRsY7-vNeOnjf-8wa9HXQoWHSAYnvU |
||||
|
热度: 3.5万 |
||||
|
播放量: 202.6万 |
||||
|
点赞: 2.8万 |
||||
|
评论: 1482 |
||||
|
标签: #凯雷德, #凯迪拉克凯雷德 |
||||
|
热词: BBA, 过渡, 雷德, 只是 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 13: |
||||
|
作者: 济南驾考曾教练 |
||||
|
描述: 这辆05年女士情绪不稳定可把教练吓坏了 #考驾照 #学车考驾照 #驾照 #驾校练车 #济南驾考曾教练 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/77880289719?sec_uid=MS4wLjABAAAAbh0gfe7kzWr4P6bDpu3R-c1yxDsdtbAuvDEg97SFVOw |
||||
|
热度: 26.0万 |
||||
|
播放量: 194.8万 |
||||
|
点赞: 9.0万 |
||||
|
评论: 3600 |
||||
|
标签: #考驾照, #学车考驾照, #驾照, #驾校练车, #济南驾考曾教练 |
||||
|
热词: 练车, 学车, 稳定, 05 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 14: |
||||
|
作者: 教头不吃鱼 |
||||
|
描述: 一定不要养浣熊。 #机车 #浣熊 #宗申魔方 #雷鸟V3 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/93489291680?sec_uid=MS4wLjABAAAAZXADRcksy2GfF6g2BmV0rgbZAdRbQP9C-Jh2GOgPa2c |
||||
|
热度: 2.9万 |
||||
|
播放量: 176.5万 |
||||
|
点赞: 4.3万 |
||||
|
评论: 992 |
||||
|
标签: #机车, #浣熊, #宗申魔方, #雷鸟V3 |
||||
|
热词: 机车, 不要, 视角, 一定 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 15: |
||||
|
作者: 北北机车头 |
||||
|
描述: 骂人的词都想好了,谁知道她立马就认错!#营缆头盔 #机车 #女骑 #摩托车 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/510606719595791?sec_uid=MS4wLjABAAAAHGvswYnBx_C0aNAgK-FZRZ4dgRV339dAkuOFj7eUrh0 |
||||
|
热度: 2807 |
||||
|
播放量: 172.3万 |
||||
|
点赞: 4.1万 |
||||
|
评论: 162 |
||||
|
标签: #营缆头盔, #机车, #女骑, #摩托车 |
||||
|
热词: 头盔, 摩托车, 营缆, 谁知道 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 16: |
||||
|
作者: 车圈阿飞 |
||||
|
描述: 这台车的毛病太奇怪了,一到白天就打不着火 #每天一个汽车知识 #维修保养 #带你懂车 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/51382821707?sec_uid=MS4wLjABAAAAZRALKxF8_GC8KtlYo_Bi3XYmj7AQKJEEAjEuTsuf7YU |
||||
|
热度: 8863 |
||||
|
播放量: 170.2万 |
||||
|
点赞: 3.5万 |
||||
|
评论: 1054 |
||||
|
标签: #每天一个汽车知识, #维修保养, #带你懂车 |
||||
|
热词: 毛病, 汽车, 知识, 奇怪 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 17: |
||||
|
作者: 痞幼 |
||||
|
描述: 一个字_! #441bw #村gt #合法上路的赛车 #gtr |
||||
|
作者链接: https://www.iesdouyin.com/share/user/53593622863?sec_uid=MS4wLjABAAAA5nlrikvsSVMoUkfoAkzlv0dL3szJpRyY7zKjgn3iKg8 |
||||
|
热度: 2.8万 |
||||
|
播放量: 164.7万 |
||||
|
点赞: 274.3万 |
||||
|
评论: 746 |
||||
|
标签: #441bw, #村gt, #合法上路的赛车, #gtr |
||||
|
热词: 441bw, 上路, 一个, gt |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 18: |
||||
|
作者: 黄小黄驾到 |
||||
|
描述: 奥迪销冠反砍大众销冠,女人就要为难女人! #汽车人共创计划 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/71622937020?sec_uid=MS4wLjABAAAA0rop6LP0MSpT6I3hlSX5FSVSdEmhrqOte886vNrwazc |
||||
|
热度: 2.0万 |
||||
|
播放量: 155.1万 |
||||
|
点赞: 24.7万 |
||||
|
评论: 783 |
||||
|
标签: #汽车人共创计划 |
||||
|
热词: 女人, 共创, 计划, 奥迪 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 19: |
||||
|
作者: 三太 |
||||
|
描述: 有忠有义 富贵荣华 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/107772513145?sec_uid=MS4wLjABAAAA4efGIViZk_e6JHhJ22vq4Bbu5orVArFHm4WSgxR54qw |
||||
|
热度: 2.9万 |
||||
|
播放量: 150.2万 |
||||
|
点赞: 6.1万 |
||||
|
评论: 646 |
||||
|
热词: 有忠, 富贵荣华 |
||||
|
-------------------------------------------------------------------------------- |
||||
@ -0,0 +1,379 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "泛生活", |
||||
|
"crawl_time": "2026-01-07T15:59:03.003891", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "山水居 培训总部 徐敏", |
||||
|
"description": "原声讲解踩背#踩背#瑜伽踩背#放松解压#山水居", |
||||
|
"hot": "33.5万", |
||||
|
"plays": "383.2万", |
||||
|
"likes": "6.7万", |
||||
|
"comments": "3.0万", |
||||
|
"hotWords": [ |
||||
|
"山水", |
||||
|
"放松", |
||||
|
"解压", |
||||
|
"瑜伽" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#踩背", |
||||
|
"#瑜伽踩背", |
||||
|
"#放松解压", |
||||
|
"#山水居" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "神都利剑", |
||||
|
"description": "自从不卖烧饼以后,大郎就爱上了摔跤!#摔跤搞笑视频 #民间摔跤 #危险动作请勿模仿", |
||||
|
"hot": "1.2万", |
||||
|
"plays": "367.9万", |
||||
|
"likes": "3.5万", |
||||
|
"comments": "1941", |
||||
|
"hotWords": [ |
||||
|
"视频", |
||||
|
"搞笑", |
||||
|
"民间", |
||||
|
"大郎" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#摔跤搞笑视频", |
||||
|
"#民间摔跤", |
||||
|
"#危险动作请勿模仿" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "小刘.", |
||||
|
"description": "被你艾特的人 会和你结婚的@", |
||||
|
"hot": "4.0万", |
||||
|
"plays": "280.6万", |
||||
|
"likes": "1.9万", |
||||
|
"comments": "5090", |
||||
|
"hotWords": [ |
||||
|
"结婚" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "宝泉崖天下", |
||||
|
"description": "当你拿着双摄手机走在宝泉悬崖漫步上 #当你拿着双摄手机在悬崖上漫步 #宝泉崖天下", |
||||
|
"hot": "6.8万", |
||||
|
"plays": "230.3万", |
||||
|
"likes": "10.3万", |
||||
|
"comments": "1686", |
||||
|
"hotWords": [ |
||||
|
"漫步", |
||||
|
"双摄", |
||||
|
"宝泉", |
||||
|
"天下" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#当你拿着双摄手机在悬崖上漫步", |
||||
|
"#宝泉崖天下" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "峰哥来了", |
||||
|
"description": "生活不止诗和远方 ,还有田野和家乡,和小时候的玩伴。致当年的兄弟情。#短剧#正能量。", |
||||
|
"hot": "9871", |
||||
|
"plays": "207.4万", |
||||
|
"likes": "3.9万", |
||||
|
"comments": "2090", |
||||
|
"hotWords": [ |
||||
|
"田野", |
||||
|
"当年", |
||||
|
"家乡", |
||||
|
"短剧" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#短剧", |
||||
|
"#正能量。" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "胖一一", |
||||
|
"description": "#萌娃日常 #骗你生女儿 #日常遛娃系列 #无忧无虑的年纪 #被逼疯的家长", |
||||
|
"hot": "5239", |
||||
|
"plays": "184.6万", |
||||
|
"likes": "4976", |
||||
|
"comments": "60", |
||||
|
"hotWords": [ |
||||
|
"萌娃", |
||||
|
"系列", |
||||
|
"无忧无虑", |
||||
|
"家长" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#萌娃日常", |
||||
|
"#骗你生女儿", |
||||
|
"#日常遛娃系列", |
||||
|
"#无忧无虑的年纪", |
||||
|
"#被逼疯的家长" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "玉龙溪冰雪大世界-彬宝", |
||||
|
"description": "玉龙溪超长2000米冰雪贪吃蛇笑了扣波666 #滑雪圈 #彬宝带你玩遍辽宁 #东北的冬天", |
||||
|
"hot": "9.0万", |
||||
|
"plays": "183.8万", |
||||
|
"likes": "168.1万", |
||||
|
"comments": "3350", |
||||
|
"hotWords": [ |
||||
|
"超长", |
||||
|
"扣波", |
||||
|
"2000", |
||||
|
"冬天" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#滑雪圈", |
||||
|
"#彬宝带你玩遍辽宁", |
||||
|
"#东北的冬天" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "小刘.", |
||||
|
"description": "16岁的承诺 23岁已完成@#paraskors派热马上有福手串", |
||||
|
"hot": "7.7万", |
||||
|
"plays": "177.8万", |
||||
|
"likes": "9.6万", |
||||
|
"comments": "1.2万", |
||||
|
"hotWords": [ |
||||
|
"有福", |
||||
|
"手串", |
||||
|
"承诺", |
||||
|
"23" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#paraskors派热马上有福手串" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "🧸小阿园の打卡日记", |
||||
|
"description": "快去抢海底捞新套餐!人均90多吃海陆满配19件套!太值了! 竟然还送一人之下高档的群像立牌哦!快抢快抢!#海底捞 #一人之下 #海底捞一人之下联动 #异人齊聚真香开躁 #2026年的第一顿海底捞", |
||||
|
"hot": "5856", |
||||
|
"plays": "160.2万", |
||||
|
"likes": "1.1万", |
||||
|
"comments": "323", |
||||
|
"hotWords": [ |
||||
|
"海陆", |
||||
|
"满配", |
||||
|
"人均", |
||||
|
"竟然" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#海底捞", |
||||
|
"#一人之下", |
||||
|
"#海底捞一人之下联动", |
||||
|
"#异人齊聚真香开躁", |
||||
|
"#2026年的第一顿海底捞" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "屠老头同城号", |
||||
|
"description": "爷爷还是爸爸", |
||||
|
"hot": "6006", |
||||
|
"plays": "155.0万", |
||||
|
"likes": "7309", |
||||
|
"comments": "330", |
||||
|
"hotWords": [ |
||||
|
"爸爸", |
||||
|
"还是" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "Luck", |
||||
|
"description": "牛约堡太好吃了 #我是爆单王 #我的牛约堡搭子 #牛约堡 #去店科技", |
||||
|
"hot": "6071", |
||||
|
"plays": "143.7万", |
||||
|
"likes": "7.8万", |
||||
|
"comments": "108", |
||||
|
"hotWords": [ |
||||
|
"科技", |
||||
|
"爆单", |
||||
|
"约堡", |
||||
|
"我是" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#我是爆单王", |
||||
|
"#我的牛约堡搭子", |
||||
|
"#牛约堡", |
||||
|
"#去店科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "欢乐派主持人:梦飞(婚礼+商演+探店)", |
||||
|
"description": "这是我见过胆子最大的人😁#真实生活分享计划 #婚礼搞笑瞬间 #伴郎 #口误 #婚礼主持人梦飞", |
||||
|
"hot": "1.3万", |
||||
|
"plays": "138.6万", |
||||
|
"likes": "3589", |
||||
|
"comments": "589", |
||||
|
"hotWords": [ |
||||
|
"搞笑", |
||||
|
"最大", |
||||
|
"分享", |
||||
|
"梦飞" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#真实生活分享计划", |
||||
|
"#婚礼搞笑瞬间", |
||||
|
"#伴郎", |
||||
|
"#口误", |
||||
|
"#婚礼主持人梦飞" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "农村香香", |
||||
|
"description": "我的天爷,我终于知道娘家爸妈为什么看我老公比我顺眼多了,这货确实很有一套,这不我婆家今天不是杀猪了吗,他才把猪收拾干净,就抱了一腿肉奔同村的娘家来了,说拿给我爸妈熏腊肉……他平时也三天两头往我娘家跑,不是帮干农活,就是上门送些我爸妈喜欢的东西,到了娘家也从来不让我爸妈往厨房忙活,都是他下厨做饭,经常哄的他丈人、丈母娘乐开了花。唉!现在男的都这么高明吗", |
||||
|
"hot": "4335", |
||||
|
"plays": "136.2万", |
||||
|
"likes": "9.8万", |
||||
|
"comments": "70", |
||||
|
"hotWords": [ |
||||
|
"干净", |
||||
|
"喜欢", |
||||
|
"同村", |
||||
|
"一套" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "鑫邦轿车托运", |
||||
|
"description": "救援车托运,小板拖车,小板运车,长途小板。什么是小板运车?就是路上看见的救援车托车,随着客户需求的多样性推出小板运车,主要承接新车托运,豪车托车,事故车托运,展车托运等业务。\n \n#全国轿车托运 #道路救援拖车 #汽车搬运工 #拖车 #救援车托运", |
||||
|
"hot": "2209", |
||||
|
"plays": "129.7万", |
||||
|
"likes": "9288", |
||||
|
"comments": "32", |
||||
|
"hotWords": [ |
||||
|
"需求", |
||||
|
"事故", |
||||
|
"展车", |
||||
|
"搬运工" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#全国轿车托运", |
||||
|
"#道路救援拖车", |
||||
|
"#汽车搬运工", |
||||
|
"#拖车", |
||||
|
"#救援车托运" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "久东好物", |
||||
|
"description": "加油一老如有一宝,父母老了我们一定要善待他们#记录生活 #百善孝为先 #家庭 #孝心", |
||||
|
"hot": "2858", |
||||
|
"plays": "127.9万", |
||||
|
"likes": "5.5万", |
||||
|
"comments": "729", |
||||
|
"hotWords": [ |
||||
|
"记录", |
||||
|
"加油", |
||||
|
"生活", |
||||
|
"一宝" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#记录生活", |
||||
|
"#百善孝为先", |
||||
|
"#家庭", |
||||
|
"#孝心" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "神都利剑", |
||||
|
"description": "自从不卖烧饼以后,大郎就爱上了摔跤!#摔跤搞笑视频 #民间摔跤 #危险动作请勿模仿", |
||||
|
"hot": "1.7万", |
||||
|
"plays": "126.9万", |
||||
|
"likes": "1.6万", |
||||
|
"comments": "725", |
||||
|
"hotWords": [ |
||||
|
"视频", |
||||
|
"搞笑", |
||||
|
"民间", |
||||
|
"大郎" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#摔跤搞笑视频", |
||||
|
"#民间摔跤", |
||||
|
"#危险动作请勿模仿" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "密室逃脱—啊琨", |
||||
|
"description": "这密室的npc也太可爱了吧又是被萌坏的一天 #恐怖密室 #密室逃脱 #密室逃脱啊琨", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "107.7万", |
||||
|
"likes": "22.1万", |
||||
|
"comments": "1004", |
||||
|
"hotWords": [ |
||||
|
"密室逃脱", |
||||
|
"可爱", |
||||
|
"一天", |
||||
|
"啊琨" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#恐怖密室", |
||||
|
"#密室逃脱", |
||||
|
"#密室逃脱啊琨" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "时嘉是大王", |
||||
|
"description": "2026年,送老己一个在路上能时刻陪伴的家。#铂智7首批展车提前品鉴 #丰田铂智7斩获设计界小金人", |
||||
|
"hot": "3874", |
||||
|
"plays": "100.7万", |
||||
|
"likes": "1.0万", |
||||
|
"comments": "147", |
||||
|
"hotWords": [ |
||||
|
"丰田", |
||||
|
"在路上", |
||||
|
"展车", |
||||
|
"陪伴" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#铂智7首批展车提前品鉴", |
||||
|
"#丰田铂智7斩获设计界小金人" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "全民嗑代表", |
||||
|
"description": "她们的痛苦不应该成为千百年后被凝视的雕像 #雕像 #玛丽莲梦露 #杨玉环 #艺术 #女性", |
||||
|
"hot": "3.9万", |
||||
|
"plays": "89.0万", |
||||
|
"likes": "15.9万", |
||||
|
"comments": "1.6万", |
||||
|
"hotWords": [ |
||||
|
"成为", |
||||
|
"女性", |
||||
|
"应该", |
||||
|
"千百年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#雕像", |
||||
|
"#玛丽莲梦露", |
||||
|
"#杨玉环", |
||||
|
"#艺术", |
||||
|
"#女性" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 0.
|
@ -0,0 +1,402 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"page_title": "抖音创作指导 - 热门视频", |
||||
|
"category": "游戏", |
||||
|
"platform": "douyin", |
||||
|
"crawl_time": "2026-01-07T11:25:45.500073", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/59820175031?sec_uid=MS4wLjABAAAAwHz8fNB7x1iXI3DvKQLIdS0w6pt37oXOsuOfrwKhKUU", |
||||
|
"duration": "", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "54.0万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "呼叫网管", |
||||
|
"description": "见证:荒野大镖客2隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客2", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/109014805831?sec_uid=MS4wLjABAAAAAtnCpevF0YXW29cXbyJmXnSyq6qZL-PdV2x8Cl6PQpw", |
||||
|
"duration": "", |
||||
|
"hot": "13.2万", |
||||
|
"plays": "597.0万", |
||||
|
"likes": "46.9万", |
||||
|
"comments": "2826", |
||||
|
"hotWords": [ |
||||
|
"玩家", |
||||
|
"终于", |
||||
|
"发现", |
||||
|
"七年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#游戏", |
||||
|
"#离谱", |
||||
|
"#荒野大镖客2" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "和平精英", |
||||
|
"description": "携手甘肃省文旅厅和敦煌文旅,「丝路敦煌」马年春节海岛即将上线,一起飞“煌”腾达,马上吃鸡!#和平精英丝路敦煌", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3193425629814200?sec_uid=MS4wLjABAAAAUXB3z4cYRG_dwUf7H2-QAF_7RPw3gzVMGqkj99q73Og7tizaEibvuF9VsgERZzGl", |
||||
|
"duration": "", |
||||
|
"hot": "3.1万", |
||||
|
"plays": "586.6万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "803", |
||||
|
"hotWords": [ |
||||
|
"文旅", |
||||
|
"丝路", |
||||
|
"海岛", |
||||
|
"甘肃省" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#和平精英丝路敦煌" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "无畏契约", |
||||
|
"description": "为了复仇,为了生存,为了所有无力自救的人,这就是我们还击的理由。#无畏契约 #无畏契约V26新赛季", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/756933307674803?sec_uid=MS4wLjABAAAAd61SOvCplM1lOsnVcBKjGntfjcQ-gyFBN7PdPVOpE6k", |
||||
|
"duration": "", |
||||
|
"hot": "38.9万", |
||||
|
"plays": "573.0万", |
||||
|
"likes": "48.8万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"契约", |
||||
|
"无畏", |
||||
|
"所有", |
||||
|
"无力" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#无畏契约", |
||||
|
"#无畏契约V26新赛季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "杰克螳螂", |
||||
|
"description": "当你上班突然收到5090 谢谢老婆@芗芗香¨̮ #杰克螳螂", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/93932467317?sec_uid=MS4wLjABAAAAgYo24cx8FKH2s8nWMcG69HQ2EV4HQkBhL6qva4xcDRg", |
||||
|
"duration": "", |
||||
|
"hot": "5.1万", |
||||
|
"plays": "532.5万", |
||||
|
"likes": "17.4万", |
||||
|
"comments": "4651", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"收到", |
||||
|
"谢谢", |
||||
|
"上班" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#杰克螳螂" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "帆高", |
||||
|
"description": "当情侣害羞时能有多害羞#情侣", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3553264941698696?sec_uid=MS4wLjABAAAAqRTcbJ5-BVioGat8lAaGi9YKYPUc7E85Cb-iL9zqWkZ5iKKMDkPLbpnVV79ECFbg", |
||||
|
"duration": "", |
||||
|
"hot": "20.1万", |
||||
|
"plays": "450.2万", |
||||
|
"likes": "13.8万", |
||||
|
"comments": "4658", |
||||
|
"hotWords": [ |
||||
|
"情侣", |
||||
|
"时能" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#情侣" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "英雄联盟-李锄禾", |
||||
|
"description": "当一级团无事发生的上单回线时", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/111011094274?sec_uid=MS4wLjABAAAAfxoIVtCfqczFz-pacWcwF_v8_n8hTvFCzJUcA3n5BCU", |
||||
|
"duration": "", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "396.5万", |
||||
|
"likes": "6.0万", |
||||
|
"comments": "3074", |
||||
|
"hotWords": [ |
||||
|
"一级", |
||||
|
"发生", |
||||
|
"无事" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "江鸽北主任", |
||||
|
"description": "难道我就是科幻片主角吗... #逃离塔科夫 #整活", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3390517500446908?sec_uid=MS4wLjABAAAAABHPycvUAAR44hXwj3YCkLT7_-ON2vONwUncb9yh3ErQd4J2HOBEJk0wR8-xB47b", |
||||
|
"duration": "", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "350.5万", |
||||
|
"likes": "20.1万", |
||||
|
"comments": "862", |
||||
|
"hotWords": [ |
||||
|
"...", |
||||
|
"科幻片", |
||||
|
"科夫", |
||||
|
"难道" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#逃离塔科夫", |
||||
|
"#整活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "里约", |
||||
|
"description": "曾经你也是主角", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/77924666496?sec_uid=MS4wLjABAAAAfnXKC-YYl6cLMmG9UXiA8agaie8gI9mAC1HuYfHzPds", |
||||
|
"duration": "", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "322.5万", |
||||
|
"likes": "7.8万", |
||||
|
"comments": "568", |
||||
|
"hotWords": [ |
||||
|
"曾经" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "鹤腾玩游戏(大聪明)", |
||||
|
"description": "【大聪明资讯】航天2.0全爆料乌鲁鲁浮木复活了 #三角洲航天基地2.0#三角洲行动#三角洲行动攻略#鼠鼠喷漆#三角洲鼠鼠拯救世界", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/96721930450?sec_uid=MS4wLjABAAAAHlZF3jO_O5jMtx5gnWvCccgBCico2rM7QbGFvkcq980", |
||||
|
"duration": "", |
||||
|
"hot": "7.1万", |
||||
|
"plays": "314.1万", |
||||
|
"likes": "8.9万", |
||||
|
"comments": "1601", |
||||
|
"hotWords": [ |
||||
|
"复活", |
||||
|
"鼠鼠", |
||||
|
"爆料", |
||||
|
"世界" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三角洲航天基地2.0", |
||||
|
"#三角洲行动", |
||||
|
"#三角洲行动攻略", |
||||
|
"#鼠鼠喷漆", |
||||
|
"#三角洲鼠鼠拯救世界" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "小b", |
||||
|
"description": "宝宝我今天看到你跳水了#小猪", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/75388593506?sec_uid=MS4wLjABAAAAvTlYs6Ubl0_6dgbLo5dVc7B6DPtncNLYWjUC1dxHTwE", |
||||
|
"duration": "", |
||||
|
"hot": "20.9万", |
||||
|
"plays": "286.8万", |
||||
|
"likes": "5.2万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"小猪", |
||||
|
"今天", |
||||
|
"宝宝", |
||||
|
"看到" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小猪" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "王者荣耀", |
||||
|
"description": "#西施FMVP星传说皮肤 硝烟再起,战火重燃。2026KPL春季赛即将开战,整装待发的十八支战队将再次以银龙杯为目标,踏上逐梦之旅,与此同时,也为大家带来了全新的2026春季赛事战令,1月14日上线,这个春天,该我上场!#清融游龙堇华星传说 #王者荣耀", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/83096184229?sec_uid=MS4wLjABAAAAyiUBvOEjnzVYHl3xyIopxDpk1e7ECR-TW10I14EdS80", |
||||
|
"duration": "", |
||||
|
"hot": "17.8万", |
||||
|
"plays": "283.3万", |
||||
|
"likes": "16.0万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"重燃", |
||||
|
"十八", |
||||
|
"14", |
||||
|
"战火" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#西施FMVP星传说皮肤", |
||||
|
"#清融游龙堇华星传说", |
||||
|
"#王者荣耀" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "瓜田小圆", |
||||
|
"description": "那年一句洗不掉了,造就了真神#梵葵葵 #奥特曼 #抽象", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/104726670820?sec_uid=MS4wLjABAAAAWyFCMh9TWY952vIq-FTXNNt9PnaTfCrgxv5oT_GNtO0", |
||||
|
"duration": "", |
||||
|
"hot": "3.4万", |
||||
|
"plays": "272.3万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "245", |
||||
|
"hotWords": [ |
||||
|
"造就", |
||||
|
"抽象", |
||||
|
"奥特曼", |
||||
|
"一句" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#梵葵葵", |
||||
|
"#奥特曼", |
||||
|
"#抽象" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "柚子玩游戏", |
||||
|
"description": "#三国杀小游戏#三国杀 #三国杀日记", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/1108773181599452?sec_uid=MS4wLjABAAAAfbeDV2WgC1lNYXqsdyfxJoRjatz3Y8xtLg7lP4cnZNkUVshXtZuM8c-oqMWNLpW7", |
||||
|
"duration": "", |
||||
|
"hot": "7256", |
||||
|
"plays": "257.4万", |
||||
|
"likes": "27.2万", |
||||
|
"comments": "262", |
||||
|
"hotWords": [ |
||||
|
"三国", |
||||
|
"日记" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三国杀小游戏", |
||||
|
"#三国杀", |
||||
|
"#三国杀日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "云顶阿东", |
||||
|
"description": "艾克找到了完美的时间线,所有强化符文将会是棱彩阶 #英雄联盟 #云顶之弈 #艾克", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/2537307562580379?sec_uid=MS4wLjABAAAADUKGQgPLlSJGHFvYVCNoWlyv9BDUCiQt-w08SXS71kw-NwWDSW5FSMQmFisvEvAS", |
||||
|
"duration": "", |
||||
|
"hot": "5.4万", |
||||
|
"plays": "248.9万", |
||||
|
"likes": "15.0万", |
||||
|
"comments": "2059", |
||||
|
"hotWords": [ |
||||
|
"之弈", |
||||
|
"英雄联盟", |
||||
|
"所有", |
||||
|
"符文" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#云顶之弈", |
||||
|
"#艾克" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "兰斯Rance", |
||||
|
"description": "三个召唤师能技能,等级上限20!S16赛季上路全改动详解 #英雄联盟 #S16季前赛 #LOL #上单", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/98096704506?sec_uid=MS4wLjABAAAAbcos1HdQHtceVKCBpNTpWfYYV8IB767BKam8ST-BF28", |
||||
|
"duration": "", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "233.0万", |
||||
|
"likes": "3.3万", |
||||
|
"comments": "2667", |
||||
|
"hotWords": [ |
||||
|
"等级", |
||||
|
"季前赛", |
||||
|
"改动", |
||||
|
"详解" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#S16季前赛", |
||||
|
"#LOL", |
||||
|
"#上单" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "摸娱研究所", |
||||
|
"description": "支付宝会被黑客攻击吗#支付宝 #黑客 #科技", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/848478603583116?sec_uid=MS4wLjABAAAAzjLbAU89fY7FI39yIDZ6hhwQdK0WznANzGclHMW2hCo", |
||||
|
"duration": "", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "229.6万", |
||||
|
"likes": "8.9万", |
||||
|
"comments": "4131", |
||||
|
"hotWords": [ |
||||
|
"黑客攻击", |
||||
|
"科技", |
||||
|
"黑客" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#支付宝", |
||||
|
"#黑客", |
||||
|
"#科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "张龙翔", |
||||
|
"description": "一分钟学会如何完成棋子全解锁彩蛋 #云顶之弈英雄联盟传奇 #格温狂欢月", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/1249517375854224?sec_uid=MS4wLjABAAAAyLPBIm7acZwwkVINtkz11dFm7wQk7a9WDQL3vprNFrT3bW77rjY4GmL5WahT9viE", |
||||
|
"duration": "", |
||||
|
"hot": "4.0万", |
||||
|
"plays": "228.4万", |
||||
|
"likes": "3.2万", |
||||
|
"comments": "766", |
||||
|
"hotWords": [ |
||||
|
"学会", |
||||
|
"传奇", |
||||
|
"解锁", |
||||
|
"之弈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#云顶之弈英雄联盟传奇", |
||||
|
"#格温狂欢月" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "碎碎念的羊", |
||||
|
"description": "我亲手参与了骑手的算法代码? (视频灵感来源于外网原贴)#外卖#社会百态 #骑手 #正能量", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/75080917720?sec_uid=MS4wLjABAAAAKvE8b8efR4e82QFJQSg780Ss7tfc6B-KmCZ-XlZdWYU", |
||||
|
"duration": "", |
||||
|
"hot": "8.0万", |
||||
|
"plays": "202.3万", |
||||
|
"likes": "18.2万", |
||||
|
"comments": "3751", |
||||
|
"hotWords": [ |
||||
|
"视频", |
||||
|
"百态", |
||||
|
"来源于", |
||||
|
"参与" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#外卖", |
||||
|
"#社会百态", |
||||
|
"#骑手", |
||||
|
"#正能量" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,214 @@ |
|||||
|
抖音创作指导 - 热门视频列表 |
||||
|
页面: https://creator.douyin.com/creator-micro/creative-guidance |
||||
|
分类: 游戏 |
||||
|
抓取时间: 2026-01-07 11:25:45 |
||||
|
视频总数: 19 |
||||
|
================================================================================ |
||||
|
|
||||
|
视频 1: |
||||
|
作者: 小敏哟🦖 |
||||
|
描述: 为了自己的好奇付出了200块买这条裙子#大母龙 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/59820175031?sec_uid=MS4wLjABAAAAwHz8fNB7x1iXI3DvKQLIdS0w6pt37oXOsuOfrwKhKUU |
||||
|
热度: 64.4万 |
||||
|
播放量: 803.6万 |
||||
|
点赞: 54.0万 |
||||
|
评论: 2.7万 |
||||
|
标签: #大母龙 |
||||
|
热词: 200, 大母龙, 这条, 为了 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 2: |
||||
|
作者: 呼叫网管 |
||||
|
描述: 见证:荒野大镖客2隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客2 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/109014805831?sec_uid=MS4wLjABAAAAAtnCpevF0YXW29cXbyJmXnSyq6qZL-PdV2x8Cl6PQpw |
||||
|
热度: 13.2万 |
||||
|
播放量: 597.0万 |
||||
|
点赞: 46.9万 |
||||
|
评论: 2826 |
||||
|
标签: #游戏, #离谱, #荒野大镖客2 |
||||
|
热词: 玩家, 终于, 发现, 七年 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 3: |
||||
|
作者: 和平精英 |
||||
|
描述: 携手甘肃省文旅厅和敦煌文旅,「丝路敦煌」马年春节海岛即将上线,一起飞“煌”腾达,马上吃鸡!#和平精英丝路敦煌 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3193425629814200?sec_uid=MS4wLjABAAAAUXB3z4cYRG_dwUf7H2-QAF_7RPw3gzVMGqkj99q73Og7tizaEibvuF9VsgERZzGl |
||||
|
热度: 3.1万 |
||||
|
播放量: 586.6万 |
||||
|
点赞: 3.8万 |
||||
|
评论: 803 |
||||
|
标签: #和平精英丝路敦煌 |
||||
|
热词: 文旅, 丝路, 海岛, 甘肃省 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 4: |
||||
|
作者: 无畏契约 |
||||
|
描述: 为了复仇,为了生存,为了所有无力自救的人,这就是我们还击的理由。#无畏契约 #无畏契约V26新赛季 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/756933307674803?sec_uid=MS4wLjABAAAAd61SOvCplM1lOsnVcBKjGntfjcQ-gyFBN7PdPVOpE6k |
||||
|
热度: 38.9万 |
||||
|
播放量: 573.0万 |
||||
|
点赞: 48.8万 |
||||
|
评论: 1.3万 |
||||
|
标签: #无畏契约, #无畏契约V26新赛季 |
||||
|
热词: 契约, 无畏, 所有, 无力 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 5: |
||||
|
作者: 杰克螳螂 |
||||
|
描述: 当你上班突然收到5090 谢谢老婆@芗芗香¨̮ #杰克螳螂 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/93932467317?sec_uid=MS4wLjABAAAAgYo24cx8FKH2s8nWMcG69HQ2EV4HQkBhL6qva4xcDRg |
||||
|
热度: 5.1万 |
||||
|
播放量: 532.5万 |
||||
|
点赞: 17.4万 |
||||
|
评论: 4651 |
||||
|
标签: #杰克螳螂 |
||||
|
热词: 突然, 收到, 谢谢, 上班 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 6: |
||||
|
作者: 帆高 |
||||
|
描述: 当情侣害羞时能有多害羞#情侣 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3553264941698696?sec_uid=MS4wLjABAAAAqRTcbJ5-BVioGat8lAaGi9YKYPUc7E85Cb-iL9zqWkZ5iKKMDkPLbpnVV79ECFbg |
||||
|
热度: 20.1万 |
||||
|
播放量: 450.2万 |
||||
|
点赞: 13.8万 |
||||
|
评论: 4658 |
||||
|
标签: #情侣 |
||||
|
热词: 情侣, 时能 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 7: |
||||
|
作者: 英雄联盟-李锄禾 |
||||
|
描述: 当一级团无事发生的上单回线时 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/111011094274?sec_uid=MS4wLjABAAAAfxoIVtCfqczFz-pacWcwF_v8_n8hTvFCzJUcA3n5BCU |
||||
|
热度: 5.0万 |
||||
|
播放量: 396.5万 |
||||
|
点赞: 6.0万 |
||||
|
评论: 3074 |
||||
|
热词: 一级, 发生, 无事 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 8: |
||||
|
作者: 江鸽北主任 |
||||
|
描述: 难道我就是科幻片主角吗... #逃离塔科夫 #整活 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/3390517500446908?sec_uid=MS4wLjABAAAAABHPycvUAAR44hXwj3YCkLT7_-ON2vONwUncb9yh3ErQd4J2HOBEJk0wR8-xB47b |
||||
|
热度: 3.5万 |
||||
|
播放量: 350.5万 |
||||
|
点赞: 20.1万 |
||||
|
评论: 862 |
||||
|
标签: #逃离塔科夫, #整活 |
||||
|
热词: ..., 科幻片, 科夫, 难道 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 9: |
||||
|
作者: 里约 |
||||
|
描述: 曾经你也是主角 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/77924666496?sec_uid=MS4wLjABAAAAfnXKC-YYl6cLMmG9UXiA8agaie8gI9mAC1HuYfHzPds |
||||
|
热度: 5.0万 |
||||
|
播放量: 322.5万 |
||||
|
点赞: 7.8万 |
||||
|
评论: 568 |
||||
|
热词: 曾经 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 10: |
||||
|
作者: 鹤腾玩游戏(大聪明) |
||||
|
描述: 【大聪明资讯】航天2.0全爆料乌鲁鲁浮木复活了 #三角洲航天基地2.0#三角洲行动#三角洲行动攻略#鼠鼠喷漆#三角洲鼠鼠拯救世界 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/96721930450?sec_uid=MS4wLjABAAAAHlZF3jO_O5jMtx5gnWvCccgBCico2rM7QbGFvkcq980 |
||||
|
热度: 7.1万 |
||||
|
播放量: 314.1万 |
||||
|
点赞: 8.9万 |
||||
|
评论: 1601 |
||||
|
标签: #三角洲航天基地2.0, #三角洲行动, #三角洲行动攻略, #鼠鼠喷漆, #三角洲鼠鼠拯救世界 |
||||
|
热词: 复活, 鼠鼠, 爆料, 世界 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 11: |
||||
|
作者: 小b |
||||
|
描述: 宝宝我今天看到你跳水了#小猪 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/75388593506?sec_uid=MS4wLjABAAAAvTlYs6Ubl0_6dgbLo5dVc7B6DPtncNLYWjUC1dxHTwE |
||||
|
热度: 20.9万 |
||||
|
播放量: 286.8万 |
||||
|
点赞: 5.2万 |
||||
|
评论: 1.3万 |
||||
|
标签: #小猪 |
||||
|
热词: 小猪, 今天, 宝宝, 看到 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 12: |
||||
|
作者: 王者荣耀 |
||||
|
描述: #西施FMVP星传说皮肤 硝烟再起,战火重燃。2026KPL春季赛即将开战,整装待发的十八支战队将再次以银龙杯为目标,踏上逐梦之旅,与此同时,也为大家带来了全新的2026春季赛事战令,1月14日上线,这个春天,该我上场!#清融游龙堇华星传说 #王者荣耀 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/83096184229?sec_uid=MS4wLjABAAAAyiUBvOEjnzVYHl3xyIopxDpk1e7ECR-TW10I14EdS80 |
||||
|
热度: 17.8万 |
||||
|
播放量: 283.3万 |
||||
|
点赞: 16.0万 |
||||
|
评论: 2.2万 |
||||
|
标签: #西施FMVP星传说皮肤, #清融游龙堇华星传说, #王者荣耀 |
||||
|
热词: 重燃, 十八, 14, 战火 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 13: |
||||
|
作者: 瓜田小圆 |
||||
|
描述: 那年一句洗不掉了,造就了真神#梵葵葵 #奥特曼 #抽象 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/104726670820?sec_uid=MS4wLjABAAAAWyFCMh9TWY952vIq-FTXNNt9PnaTfCrgxv5oT_GNtO0 |
||||
|
热度: 3.4万 |
||||
|
播放量: 272.3万 |
||||
|
点赞: 3.8万 |
||||
|
评论: 245 |
||||
|
标签: #梵葵葵, #奥特曼, #抽象 |
||||
|
热词: 造就, 抽象, 奥特曼, 一句 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 15: |
||||
|
作者: 柚子玩游戏 |
||||
|
描述: #三国杀小游戏#三国杀 #三国杀日记 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/1108773181599452?sec_uid=MS4wLjABAAAAfbeDV2WgC1lNYXqsdyfxJoRjatz3Y8xtLg7lP4cnZNkUVshXtZuM8c-oqMWNLpW7 |
||||
|
热度: 7256 |
||||
|
播放量: 257.4万 |
||||
|
点赞: 27.2万 |
||||
|
评论: 262 |
||||
|
标签: #三国杀小游戏, #三国杀, #三国杀日记 |
||||
|
热词: 三国, 日记 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 16: |
||||
|
作者: 云顶阿东 |
||||
|
描述: 艾克找到了完美的时间线,所有强化符文将会是棱彩阶 #英雄联盟 #云顶之弈 #艾克 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/2537307562580379?sec_uid=MS4wLjABAAAADUKGQgPLlSJGHFvYVCNoWlyv9BDUCiQt-w08SXS71kw-NwWDSW5FSMQmFisvEvAS |
||||
|
热度: 5.4万 |
||||
|
播放量: 248.9万 |
||||
|
点赞: 15.0万 |
||||
|
评论: 2059 |
||||
|
标签: #英雄联盟, #云顶之弈, #艾克 |
||||
|
热词: 之弈, 英雄联盟, 所有, 符文 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 17: |
||||
|
作者: 兰斯Rance |
||||
|
描述: 三个召唤师能技能,等级上限20!S16赛季上路全改动详解 #英雄联盟 #S16季前赛 #LOL #上单 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/98096704506?sec_uid=MS4wLjABAAAAbcos1HdQHtceVKCBpNTpWfYYV8IB767BKam8ST-BF28 |
||||
|
热度: 3.5万 |
||||
|
播放量: 233.0万 |
||||
|
点赞: 3.3万 |
||||
|
评论: 2667 |
||||
|
标签: #英雄联盟, #S16季前赛, #LOL, #上单 |
||||
|
热词: 等级, 季前赛, 改动, 详解 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 18: |
||||
|
作者: 摸娱研究所 |
||||
|
描述: 支付宝会被黑客攻击吗#支付宝 #黑客 #科技 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/848478603583116?sec_uid=MS4wLjABAAAAzjLbAU89fY7FI39yIDZ6hhwQdK0WznANzGclHMW2hCo |
||||
|
热度: 7.8万 |
||||
|
播放量: 229.6万 |
||||
|
点赞: 8.9万 |
||||
|
评论: 4131 |
||||
|
标签: #支付宝, #黑客, #科技 |
||||
|
热词: 黑客攻击, 科技, 黑客 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 19: |
||||
|
作者: 张龙翔 |
||||
|
描述: 一分钟学会如何完成棋子全解锁彩蛋 #云顶之弈英雄联盟传奇 #格温狂欢月 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/1249517375854224?sec_uid=MS4wLjABAAAAyLPBIm7acZwwkVINtkz11dFm7wQk7a9WDQL3vprNFrT3bW77rjY4GmL5WahT9viE |
||||
|
热度: 4.0万 |
||||
|
播放量: 228.4万 |
||||
|
点赞: 3.2万 |
||||
|
评论: 766 |
||||
|
标签: #云顶之弈英雄联盟传奇, #格温狂欢月 |
||||
|
热词: 学会, 传奇, 解锁, 之弈 |
||||
|
-------------------------------------------------------------------------------- |
||||
|
视频 20: |
||||
|
作者: 碎碎念的羊 |
||||
|
描述: 我亲手参与了骑手的算法代码? (视频灵感来源于外网原贴)#外卖#社会百态 #骑手 #正能量 |
||||
|
作者链接: https://www.iesdouyin.com/share/user/75080917720?sec_uid=MS4wLjABAAAAKvE8b8efR4e82QFJQSg780Ss7tfc6B-KmCZ-XlZdWYU |
||||
|
热度: 8.0万 |
||||
|
播放量: 202.3万 |
||||
|
点赞: 18.2万 |
||||
|
评论: 3751 |
||||
|
标签: #外卖, #社会百态, #骑手, #正能量 |
||||
|
热词: 视频, 百态, 来源于, 参与 |
||||
|
-------------------------------------------------------------------------------- |
||||
@ -0,0 +1,362 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "游戏", |
||||
|
"crawl_time": "2026-01-07T12:16:28.659477", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "54.5万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "呼叫网管", |
||||
|
"description": "见证:荒野大镖客2隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客2", |
||||
|
"hot": "13.2万", |
||||
|
"plays": "597.0万", |
||||
|
"likes": "47.1万", |
||||
|
"comments": "2826", |
||||
|
"hotWords": [ |
||||
|
"玩家", |
||||
|
"终于", |
||||
|
"发现", |
||||
|
"七年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#游戏", |
||||
|
"#离谱", |
||||
|
"#荒野大镖客2" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "和平精英", |
||||
|
"description": "携手甘肃省文旅厅和敦煌文旅,「丝路敦煌」马年春节海岛即将上线,一起飞“煌”腾达,马上吃鸡!#和平精英丝路敦煌", |
||||
|
"hot": "3.1万", |
||||
|
"plays": "586.6万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "803", |
||||
|
"hotWords": [ |
||||
|
"文旅", |
||||
|
"丝路", |
||||
|
"海岛", |
||||
|
"甘肃省" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#和平精英丝路敦煌" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "无畏契约", |
||||
|
"description": "为了复仇,为了生存,为了所有无力自救的人,这就是我们还击的理由。#无畏契约 #无畏契约V26新赛季", |
||||
|
"hot": "38.9万", |
||||
|
"plays": "573.0万", |
||||
|
"likes": "49.2万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"契约", |
||||
|
"无畏", |
||||
|
"所有", |
||||
|
"无力" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#无畏契约", |
||||
|
"#无畏契约V26新赛季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "杰克螳螂", |
||||
|
"description": "当你上班突然收到5090 谢谢老婆@芗芗香¨̮ #杰克螳螂", |
||||
|
"hot": "5.1万", |
||||
|
"plays": "532.5万", |
||||
|
"likes": "17.6万", |
||||
|
"comments": "4651", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"收到", |
||||
|
"谢谢", |
||||
|
"上班" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#杰克螳螂" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "帆高", |
||||
|
"description": "当情侣害羞时能有多害羞#情侣", |
||||
|
"hot": "20.1万", |
||||
|
"plays": "450.2万", |
||||
|
"likes": "14.2万", |
||||
|
"comments": "4658", |
||||
|
"hotWords": [ |
||||
|
"情侣", |
||||
|
"时能" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#情侣" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "英雄联盟-李锄禾", |
||||
|
"description": "当一级团无事发生的上单回线时", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "396.5万", |
||||
|
"likes": "6.0万", |
||||
|
"comments": "3074", |
||||
|
"hotWords": [ |
||||
|
"一级", |
||||
|
"发生", |
||||
|
"无事" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "江鸽北主任", |
||||
|
"description": "难道我就是科幻片主角吗... #逃离塔科夫 #整活", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "350.5万", |
||||
|
"likes": "20.9万", |
||||
|
"comments": "862", |
||||
|
"hotWords": [ |
||||
|
"...", |
||||
|
"科幻片", |
||||
|
"科夫", |
||||
|
"难道" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#逃离塔科夫", |
||||
|
"#整活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "里约", |
||||
|
"description": "曾经你也是主角", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "322.5万", |
||||
|
"likes": "7.9万", |
||||
|
"comments": "568", |
||||
|
"hotWords": [ |
||||
|
"曾经" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "鹤腾玩游戏(大聪明)", |
||||
|
"description": "【大聪明资讯】航天2.0全爆料乌鲁鲁浮木复活了 #三角洲航天基地2.0#三角洲行动#三角洲行动攻略#鼠鼠喷漆#三角洲鼠鼠拯救世界", |
||||
|
"hot": "7.1万", |
||||
|
"plays": "314.1万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "1601", |
||||
|
"hotWords": [ |
||||
|
"复活", |
||||
|
"鼠鼠", |
||||
|
"爆料", |
||||
|
"世界" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三角洲航天基地2.0", |
||||
|
"#三角洲行动", |
||||
|
"#三角洲行动攻略", |
||||
|
"#鼠鼠喷漆", |
||||
|
"#三角洲鼠鼠拯救世界" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "小b", |
||||
|
"description": "宝宝我今天看到你跳水了#小猪", |
||||
|
"hot": "20.9万", |
||||
|
"plays": "286.8万", |
||||
|
"likes": "5.5万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"小猪", |
||||
|
"今天", |
||||
|
"宝宝", |
||||
|
"看到" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小猪" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "王者荣耀", |
||||
|
"description": "#西施FMVP星传说皮肤 硝烟再起,战火重燃。2026KPL春季赛即将开战,整装待发的十八支战队将再次以银龙杯为目标,踏上逐梦之旅,与此同时,也为大家带来了全新的2026春季赛事战令,1月14日上线,这个春天,该我上场!#清融游龙堇华星传说 #王者荣耀", |
||||
|
"hot": "17.8万", |
||||
|
"plays": "283.3万", |
||||
|
"likes": "16.3万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"重燃", |
||||
|
"十八", |
||||
|
"14", |
||||
|
"战火" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#西施FMVP星传说皮肤", |
||||
|
"#清融游龙堇华星传说", |
||||
|
"#王者荣耀" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "瓜田小圆", |
||||
|
"description": "那年一句洗不掉了,造就了真神#梵葵葵 #奥特曼 #抽象", |
||||
|
"hot": "3.4万", |
||||
|
"plays": "272.3万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "245", |
||||
|
"hotWords": [ |
||||
|
"造就", |
||||
|
"抽象", |
||||
|
"奥特曼", |
||||
|
"一句" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#梵葵葵", |
||||
|
"#奥特曼", |
||||
|
"#抽象" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "柚子玩游戏", |
||||
|
"description": "#三国杀小游戏#三国杀 #三国杀日记", |
||||
|
"hot": "7256", |
||||
|
"plays": "257.4万", |
||||
|
"likes": "27.2万", |
||||
|
"comments": "262", |
||||
|
"hotWords": [ |
||||
|
"三国", |
||||
|
"日记" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三国杀小游戏", |
||||
|
"#三国杀", |
||||
|
"#三国杀日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "云顶阿东", |
||||
|
"description": "艾克找到了完美的时间线,所有强化符文将会是棱彩阶 #英雄联盟 #云顶之弈 #艾克", |
||||
|
"hot": "5.4万", |
||||
|
"plays": "248.9万", |
||||
|
"likes": "15.3万", |
||||
|
"comments": "2059", |
||||
|
"hotWords": [ |
||||
|
"之弈", |
||||
|
"英雄联盟", |
||||
|
"所有", |
||||
|
"符文" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#云顶之弈", |
||||
|
"#艾克" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "兰斯Rance", |
||||
|
"description": "三个召唤师能技能,等级上限20!S16赛季上路全改动详解 #英雄联盟 #S16季前赛 #LOL #上单", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "233.0万", |
||||
|
"likes": "3.4万", |
||||
|
"comments": "2667", |
||||
|
"hotWords": [ |
||||
|
"等级", |
||||
|
"季前赛", |
||||
|
"改动", |
||||
|
"详解" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#S16季前赛", |
||||
|
"#LOL", |
||||
|
"#上单" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "摸娱研究所", |
||||
|
"description": "支付宝会被黑客攻击吗#支付宝 #黑客 #科技", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "229.6万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "4131", |
||||
|
"hotWords": [ |
||||
|
"黑客攻击", |
||||
|
"科技", |
||||
|
"黑客" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#支付宝", |
||||
|
"#黑客", |
||||
|
"#科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "张龙翔", |
||||
|
"description": "一分钟学会如何完成棋子全解锁彩蛋 #云顶之弈英雄联盟传奇 #格温狂欢月", |
||||
|
"hot": "4.0万", |
||||
|
"plays": "228.4万", |
||||
|
"likes": "3.3万", |
||||
|
"comments": "766", |
||||
|
"hotWords": [ |
||||
|
"学会", |
||||
|
"传奇", |
||||
|
"解锁", |
||||
|
"之弈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#云顶之弈英雄联盟传奇", |
||||
|
"#格温狂欢月" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "碎碎念的羊", |
||||
|
"description": "我亲手参与了骑手的算法代码? (视频灵感来源于外网原贴)#外卖#社会百态 #骑手 #正能量", |
||||
|
"hot": "8.0万", |
||||
|
"plays": "202.3万", |
||||
|
"likes": "18.3万", |
||||
|
"comments": "3751", |
||||
|
"hotWords": [ |
||||
|
"视频", |
||||
|
"百态", |
||||
|
"来源于", |
||||
|
"参与" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#外卖", |
||||
|
"#社会百态", |
||||
|
"#骑手", |
||||
|
"#正能量" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,362 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "游戏", |
||||
|
"crawl_time": "2026-01-07T12:18:36.431980", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "54.5万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "呼叫网管", |
||||
|
"description": "见证:荒野大镖客2隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客2", |
||||
|
"hot": "13.2万", |
||||
|
"plays": "597.0万", |
||||
|
"likes": "47.1万", |
||||
|
"comments": "2826", |
||||
|
"hotWords": [ |
||||
|
"玩家", |
||||
|
"终于", |
||||
|
"发现", |
||||
|
"七年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#游戏", |
||||
|
"#离谱", |
||||
|
"#荒野大镖客2" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "和平精英", |
||||
|
"description": "携手甘肃省文旅厅和敦煌文旅,「丝路敦煌」马年春节海岛即将上线,一起飞“煌”腾达,马上吃鸡!#和平精英丝路敦煌", |
||||
|
"hot": "3.1万", |
||||
|
"plays": "586.6万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "803", |
||||
|
"hotWords": [ |
||||
|
"文旅", |
||||
|
"丝路", |
||||
|
"海岛", |
||||
|
"甘肃省" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#和平精英丝路敦煌" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "无畏契约", |
||||
|
"description": "为了复仇,为了生存,为了所有无力自救的人,这就是我们还击的理由。#无畏契约 #无畏契约V26新赛季", |
||||
|
"hot": "38.9万", |
||||
|
"plays": "573.0万", |
||||
|
"likes": "49.3万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"契约", |
||||
|
"无畏", |
||||
|
"所有", |
||||
|
"无力" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#无畏契约", |
||||
|
"#无畏契约V26新赛季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "杰克螳螂", |
||||
|
"description": "当你上班突然收到5090 谢谢老婆@芗芗香¨̮ #杰克螳螂", |
||||
|
"hot": "5.1万", |
||||
|
"plays": "532.5万", |
||||
|
"likes": "17.6万", |
||||
|
"comments": "4651", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"收到", |
||||
|
"谢谢", |
||||
|
"上班" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#杰克螳螂" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "帆高", |
||||
|
"description": "当情侣害羞时能有多害羞#情侣", |
||||
|
"hot": "20.1万", |
||||
|
"plays": "450.2万", |
||||
|
"likes": "14.2万", |
||||
|
"comments": "4658", |
||||
|
"hotWords": [ |
||||
|
"情侣", |
||||
|
"时能" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#情侣" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "英雄联盟-李锄禾", |
||||
|
"description": "当一级团无事发生的上单回线时", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "396.5万", |
||||
|
"likes": "6.0万", |
||||
|
"comments": "3074", |
||||
|
"hotWords": [ |
||||
|
"一级", |
||||
|
"发生", |
||||
|
"无事" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "江鸽北主任", |
||||
|
"description": "难道我就是科幻片主角吗... #逃离塔科夫 #整活", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "350.5万", |
||||
|
"likes": "20.9万", |
||||
|
"comments": "862", |
||||
|
"hotWords": [ |
||||
|
"...", |
||||
|
"科幻片", |
||||
|
"科夫", |
||||
|
"难道" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#逃离塔科夫", |
||||
|
"#整活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "里约", |
||||
|
"description": "曾经你也是主角", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "322.5万", |
||||
|
"likes": "7.9万", |
||||
|
"comments": "568", |
||||
|
"hotWords": [ |
||||
|
"曾经" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "鹤腾玩游戏(大聪明)", |
||||
|
"description": "【大聪明资讯】航天2.0全爆料乌鲁鲁浮木复活了 #三角洲航天基地2.0#三角洲行动#三角洲行动攻略#鼠鼠喷漆#三角洲鼠鼠拯救世界", |
||||
|
"hot": "7.1万", |
||||
|
"plays": "314.1万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "1601", |
||||
|
"hotWords": [ |
||||
|
"复活", |
||||
|
"鼠鼠", |
||||
|
"爆料", |
||||
|
"世界" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三角洲航天基地2.0", |
||||
|
"#三角洲行动", |
||||
|
"#三角洲行动攻略", |
||||
|
"#鼠鼠喷漆", |
||||
|
"#三角洲鼠鼠拯救世界" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "小b", |
||||
|
"description": "宝宝我今天看到你跳水了#小猪", |
||||
|
"hot": "20.9万", |
||||
|
"plays": "286.8万", |
||||
|
"likes": "5.5万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"小猪", |
||||
|
"今天", |
||||
|
"宝宝", |
||||
|
"看到" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小猪" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "王者荣耀", |
||||
|
"description": "#西施FMVP星传说皮肤 硝烟再起,战火重燃。2026KPL春季赛即将开战,整装待发的十八支战队将再次以银龙杯为目标,踏上逐梦之旅,与此同时,也为大家带来了全新的2026春季赛事战令,1月14日上线,这个春天,该我上场!#清融游龙堇华星传说 #王者荣耀", |
||||
|
"hot": "17.8万", |
||||
|
"plays": "283.3万", |
||||
|
"likes": "16.3万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"重燃", |
||||
|
"十八", |
||||
|
"14", |
||||
|
"战火" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#西施FMVP星传说皮肤", |
||||
|
"#清融游龙堇华星传说", |
||||
|
"#王者荣耀" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "瓜田小圆", |
||||
|
"description": "那年一句洗不掉了,造就了真神#梵葵葵 #奥特曼 #抽象", |
||||
|
"hot": "3.4万", |
||||
|
"plays": "272.3万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "245", |
||||
|
"hotWords": [ |
||||
|
"造就", |
||||
|
"抽象", |
||||
|
"奥特曼", |
||||
|
"一句" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#梵葵葵", |
||||
|
"#奥特曼", |
||||
|
"#抽象" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "柚子玩游戏", |
||||
|
"description": "#三国杀小游戏#三国杀 #三国杀日记", |
||||
|
"hot": "7256", |
||||
|
"plays": "257.4万", |
||||
|
"likes": "27.2万", |
||||
|
"comments": "262", |
||||
|
"hotWords": [ |
||||
|
"三国", |
||||
|
"日记" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三国杀小游戏", |
||||
|
"#三国杀", |
||||
|
"#三国杀日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "云顶阿东", |
||||
|
"description": "艾克找到了完美的时间线,所有强化符文将会是棱彩阶 #英雄联盟 #云顶之弈 #艾克", |
||||
|
"hot": "5.4万", |
||||
|
"plays": "248.9万", |
||||
|
"likes": "15.3万", |
||||
|
"comments": "2059", |
||||
|
"hotWords": [ |
||||
|
"之弈", |
||||
|
"英雄联盟", |
||||
|
"所有", |
||||
|
"符文" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#云顶之弈", |
||||
|
"#艾克" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "兰斯Rance", |
||||
|
"description": "三个召唤师能技能,等级上限20!S16赛季上路全改动详解 #英雄联盟 #S16季前赛 #LOL #上单", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "233.0万", |
||||
|
"likes": "3.4万", |
||||
|
"comments": "2667", |
||||
|
"hotWords": [ |
||||
|
"等级", |
||||
|
"季前赛", |
||||
|
"改动", |
||||
|
"详解" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#S16季前赛", |
||||
|
"#LOL", |
||||
|
"#上单" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "摸娱研究所", |
||||
|
"description": "支付宝会被黑客攻击吗#支付宝 #黑客 #科技", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "229.6万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "4131", |
||||
|
"hotWords": [ |
||||
|
"黑客攻击", |
||||
|
"科技", |
||||
|
"黑客" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#支付宝", |
||||
|
"#黑客", |
||||
|
"#科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "张龙翔", |
||||
|
"description": "一分钟学会如何完成棋子全解锁彩蛋 #云顶之弈英雄联盟传奇 #格温狂欢月", |
||||
|
"hot": "4.0万", |
||||
|
"plays": "228.4万", |
||||
|
"likes": "3.3万", |
||||
|
"comments": "766", |
||||
|
"hotWords": [ |
||||
|
"学会", |
||||
|
"传奇", |
||||
|
"解锁", |
||||
|
"之弈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#云顶之弈英雄联盟传奇", |
||||
|
"#格温狂欢月" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "碎碎念的羊", |
||||
|
"description": "我亲手参与了骑手的算法代码? (视频灵感来源于外网原贴)#外卖#社会百态 #骑手 #正能量", |
||||
|
"hot": "8.0万", |
||||
|
"plays": "202.3万", |
||||
|
"likes": "18.3万", |
||||
|
"comments": "3751", |
||||
|
"hotWords": [ |
||||
|
"视频", |
||||
|
"百态", |
||||
|
"来源于", |
||||
|
"参与" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#外卖", |
||||
|
"#社会百态", |
||||
|
"#骑手", |
||||
|
"#正能量" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,362 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "游戏", |
||||
|
"crawl_time": "2026-01-07T12:20:34.759400", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "54.6万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "呼叫网管", |
||||
|
"description": "见证:荒野大镖客2隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客2", |
||||
|
"hot": "13.2万", |
||||
|
"plays": "597.0万", |
||||
|
"likes": "47.1万", |
||||
|
"comments": "2826", |
||||
|
"hotWords": [ |
||||
|
"玩家", |
||||
|
"终于", |
||||
|
"发现", |
||||
|
"七年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#游戏", |
||||
|
"#离谱", |
||||
|
"#荒野大镖客2" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "和平精英", |
||||
|
"description": "携手甘肃省文旅厅和敦煌文旅,「丝路敦煌」马年春节海岛即将上线,一起飞“煌”腾达,马上吃鸡!#和平精英丝路敦煌", |
||||
|
"hot": "3.1万", |
||||
|
"plays": "586.6万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "803", |
||||
|
"hotWords": [ |
||||
|
"文旅", |
||||
|
"丝路", |
||||
|
"海岛", |
||||
|
"甘肃省" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#和平精英丝路敦煌" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "无畏契约", |
||||
|
"description": "为了复仇,为了生存,为了所有无力自救的人,这就是我们还击的理由。#无畏契约 #无畏契约V26新赛季", |
||||
|
"hot": "38.9万", |
||||
|
"plays": "573.0万", |
||||
|
"likes": "49.3万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"契约", |
||||
|
"无畏", |
||||
|
"所有", |
||||
|
"无力" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#无畏契约", |
||||
|
"#无畏契约V26新赛季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "杰克螳螂", |
||||
|
"description": "当你上班突然收到5090 谢谢老婆@芗芗香¨̮ #杰克螳螂", |
||||
|
"hot": "5.1万", |
||||
|
"plays": "532.5万", |
||||
|
"likes": "17.6万", |
||||
|
"comments": "4651", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"收到", |
||||
|
"谢谢", |
||||
|
"上班" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#杰克螳螂" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "帆高", |
||||
|
"description": "当情侣害羞时能有多害羞#情侣", |
||||
|
"hot": "20.1万", |
||||
|
"plays": "450.2万", |
||||
|
"likes": "14.2万", |
||||
|
"comments": "4658", |
||||
|
"hotWords": [ |
||||
|
"情侣", |
||||
|
"时能" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#情侣" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "英雄联盟-李锄禾", |
||||
|
"description": "当一级团无事发生的上单回线时", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "396.5万", |
||||
|
"likes": "6.0万", |
||||
|
"comments": "3074", |
||||
|
"hotWords": [ |
||||
|
"一级", |
||||
|
"发生", |
||||
|
"无事" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "江鸽北主任", |
||||
|
"description": "难道我就是科幻片主角吗... #逃离塔科夫 #整活", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "350.5万", |
||||
|
"likes": "21.0万", |
||||
|
"comments": "862", |
||||
|
"hotWords": [ |
||||
|
"...", |
||||
|
"科幻片", |
||||
|
"科夫", |
||||
|
"难道" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#逃离塔科夫", |
||||
|
"#整活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "里约", |
||||
|
"description": "曾经你也是主角", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "322.5万", |
||||
|
"likes": "7.9万", |
||||
|
"comments": "568", |
||||
|
"hotWords": [ |
||||
|
"曾经" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "鹤腾玩游戏(大聪明)", |
||||
|
"description": "【大聪明资讯】航天2.0全爆料乌鲁鲁浮木复活了 #三角洲航天基地2.0#三角洲行动#三角洲行动攻略#鼠鼠喷漆#三角洲鼠鼠拯救世界", |
||||
|
"hot": "7.1万", |
||||
|
"plays": "314.1万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "1601", |
||||
|
"hotWords": [ |
||||
|
"复活", |
||||
|
"鼠鼠", |
||||
|
"爆料", |
||||
|
"世界" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三角洲航天基地2.0", |
||||
|
"#三角洲行动", |
||||
|
"#三角洲行动攻略", |
||||
|
"#鼠鼠喷漆", |
||||
|
"#三角洲鼠鼠拯救世界" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "小b", |
||||
|
"description": "宝宝我今天看到你跳水了#小猪", |
||||
|
"hot": "20.9万", |
||||
|
"plays": "286.8万", |
||||
|
"likes": "5.5万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"小猪", |
||||
|
"今天", |
||||
|
"宝宝", |
||||
|
"看到" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小猪" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "王者荣耀", |
||||
|
"description": "#西施FMVP星传说皮肤 硝烟再起,战火重燃。2026KPL春季赛即将开战,整装待发的十八支战队将再次以银龙杯为目标,踏上逐梦之旅,与此同时,也为大家带来了全新的2026春季赛事战令,1月14日上线,这个春天,该我上场!#清融游龙堇华星传说 #王者荣耀", |
||||
|
"hot": "17.8万", |
||||
|
"plays": "283.3万", |
||||
|
"likes": "16.3万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"重燃", |
||||
|
"十八", |
||||
|
"14", |
||||
|
"战火" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#西施FMVP星传说皮肤", |
||||
|
"#清融游龙堇华星传说", |
||||
|
"#王者荣耀" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "瓜田小圆", |
||||
|
"description": "那年一句洗不掉了,造就了真神#梵葵葵 #奥特曼 #抽象", |
||||
|
"hot": "3.4万", |
||||
|
"plays": "272.3万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "245", |
||||
|
"hotWords": [ |
||||
|
"造就", |
||||
|
"抽象", |
||||
|
"奥特曼", |
||||
|
"一句" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#梵葵葵", |
||||
|
"#奥特曼", |
||||
|
"#抽象" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "柚子玩游戏", |
||||
|
"description": "#三国杀小游戏#三国杀 #三国杀日记", |
||||
|
"hot": "7256", |
||||
|
"plays": "257.4万", |
||||
|
"likes": "27.2万", |
||||
|
"comments": "262", |
||||
|
"hotWords": [ |
||||
|
"三国", |
||||
|
"日记" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三国杀小游戏", |
||||
|
"#三国杀", |
||||
|
"#三国杀日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "云顶阿东", |
||||
|
"description": "艾克找到了完美的时间线,所有强化符文将会是棱彩阶 #英雄联盟 #云顶之弈 #艾克", |
||||
|
"hot": "5.4万", |
||||
|
"plays": "248.9万", |
||||
|
"likes": "15.3万", |
||||
|
"comments": "2059", |
||||
|
"hotWords": [ |
||||
|
"之弈", |
||||
|
"英雄联盟", |
||||
|
"所有", |
||||
|
"符文" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#云顶之弈", |
||||
|
"#艾克" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "兰斯Rance", |
||||
|
"description": "三个召唤师能技能,等级上限20!S16赛季上路全改动详解 #英雄联盟 #S16季前赛 #LOL #上单", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "233.0万", |
||||
|
"likes": "3.4万", |
||||
|
"comments": "2667", |
||||
|
"hotWords": [ |
||||
|
"等级", |
||||
|
"季前赛", |
||||
|
"改动", |
||||
|
"详解" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#S16季前赛", |
||||
|
"#LOL", |
||||
|
"#上单" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "摸娱研究所", |
||||
|
"description": "支付宝会被黑客攻击吗#支付宝 #黑客 #科技", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "229.6万", |
||||
|
"likes": "9.1万", |
||||
|
"comments": "4131", |
||||
|
"hotWords": [ |
||||
|
"黑客攻击", |
||||
|
"科技", |
||||
|
"黑客" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#支付宝", |
||||
|
"#黑客", |
||||
|
"#科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "张龙翔", |
||||
|
"description": "一分钟学会如何完成棋子全解锁彩蛋 #云顶之弈英雄联盟传奇 #格温狂欢月", |
||||
|
"hot": "4.0万", |
||||
|
"plays": "228.4万", |
||||
|
"likes": "3.3万", |
||||
|
"comments": "766", |
||||
|
"hotWords": [ |
||||
|
"学会", |
||||
|
"传奇", |
||||
|
"解锁", |
||||
|
"之弈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#云顶之弈英雄联盟传奇", |
||||
|
"#格温狂欢月" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "碎碎念的羊", |
||||
|
"description": "我亲手参与了骑手的算法代码? (视频灵感来源于外网原贴)#外卖#社会百态 #骑手 #正能量", |
||||
|
"hot": "8.0万", |
||||
|
"plays": "202.3万", |
||||
|
"likes": "18.3万", |
||||
|
"comments": "3751", |
||||
|
"hotWords": [ |
||||
|
"视频", |
||||
|
"百态", |
||||
|
"来源于", |
||||
|
"参与" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#外卖", |
||||
|
"#社会百态", |
||||
|
"#骑手", |
||||
|
"#正能量" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,362 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "游戏", |
||||
|
"crawl_time": "2026-01-07T12:22:14.420156", |
||||
|
"total_videos": 19, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "小敏哟🦖", |
||||
|
"description": "为了自己的好奇付出了200块买这条裙子#大母龙", |
||||
|
"hot": "64.4万", |
||||
|
"plays": "803.6万", |
||||
|
"likes": "54.6万", |
||||
|
"comments": "2.7万", |
||||
|
"hotWords": [ |
||||
|
"200", |
||||
|
"大母龙", |
||||
|
"这条", |
||||
|
"为了" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#大母龙" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "呼叫网管", |
||||
|
"description": "见证:荒野大镖客2隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客2", |
||||
|
"hot": "13.2万", |
||||
|
"plays": "597.0万", |
||||
|
"likes": "47.1万", |
||||
|
"comments": "2826", |
||||
|
"hotWords": [ |
||||
|
"玩家", |
||||
|
"终于", |
||||
|
"发现", |
||||
|
"七年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#游戏", |
||||
|
"#离谱", |
||||
|
"#荒野大镖客2" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "和平精英", |
||||
|
"description": "携手甘肃省文旅厅和敦煌文旅,「丝路敦煌」马年春节海岛即将上线,一起飞“煌”腾达,马上吃鸡!#和平精英丝路敦煌", |
||||
|
"hot": "3.1万", |
||||
|
"plays": "586.6万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "803", |
||||
|
"hotWords": [ |
||||
|
"文旅", |
||||
|
"丝路", |
||||
|
"海岛", |
||||
|
"甘肃省" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#和平精英丝路敦煌" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "无畏契约", |
||||
|
"description": "为了复仇,为了生存,为了所有无力自救的人,这就是我们还击的理由。#无畏契约 #无畏契约V26新赛季", |
||||
|
"hot": "38.9万", |
||||
|
"plays": "573.0万", |
||||
|
"likes": "49.3万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"契约", |
||||
|
"无畏", |
||||
|
"所有", |
||||
|
"无力" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#无畏契约", |
||||
|
"#无畏契约V26新赛季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "杰克螳螂", |
||||
|
"description": "当你上班突然收到5090 谢谢老婆@芗芗香¨̮ #杰克螳螂", |
||||
|
"hot": "5.1万", |
||||
|
"plays": "532.5万", |
||||
|
"likes": "17.6万", |
||||
|
"comments": "4651", |
||||
|
"hotWords": [ |
||||
|
"突然", |
||||
|
"收到", |
||||
|
"谢谢", |
||||
|
"上班" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#杰克螳螂" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "帆高", |
||||
|
"description": "当情侣害羞时能有多害羞#情侣", |
||||
|
"hot": "20.1万", |
||||
|
"plays": "450.2万", |
||||
|
"likes": "14.2万", |
||||
|
"comments": "4658", |
||||
|
"hotWords": [ |
||||
|
"情侣", |
||||
|
"时能" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#情侣" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "英雄联盟-李锄禾", |
||||
|
"description": "当一级团无事发生的上单回线时", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "396.5万", |
||||
|
"likes": "6.0万", |
||||
|
"comments": "3074", |
||||
|
"hotWords": [ |
||||
|
"一级", |
||||
|
"发生", |
||||
|
"无事" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "江鸽北主任", |
||||
|
"description": "难道我就是科幻片主角吗... #逃离塔科夫 #整活", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "350.5万", |
||||
|
"likes": "21.0万", |
||||
|
"comments": "862", |
||||
|
"hotWords": [ |
||||
|
"...", |
||||
|
"科幻片", |
||||
|
"科夫", |
||||
|
"难道" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#逃离塔科夫", |
||||
|
"#整活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "里约", |
||||
|
"description": "曾经你也是主角", |
||||
|
"hot": "5.0万", |
||||
|
"plays": "322.5万", |
||||
|
"likes": "7.9万", |
||||
|
"comments": "568", |
||||
|
"hotWords": [ |
||||
|
"曾经" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "鹤腾玩游戏(大聪明)", |
||||
|
"description": "【大聪明资讯】航天2.0全爆料乌鲁鲁浮木复活了 #三角洲航天基地2.0#三角洲行动#三角洲行动攻略#鼠鼠喷漆#三角洲鼠鼠拯救世界", |
||||
|
"hot": "7.1万", |
||||
|
"plays": "314.1万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "1601", |
||||
|
"hotWords": [ |
||||
|
"复活", |
||||
|
"鼠鼠", |
||||
|
"爆料", |
||||
|
"世界" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三角洲航天基地2.0", |
||||
|
"#三角洲行动", |
||||
|
"#三角洲行动攻略", |
||||
|
"#鼠鼠喷漆", |
||||
|
"#三角洲鼠鼠拯救世界" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "小b", |
||||
|
"description": "宝宝我今天看到你跳水了#小猪", |
||||
|
"hot": "20.9万", |
||||
|
"plays": "286.8万", |
||||
|
"likes": "5.5万", |
||||
|
"comments": "1.3万", |
||||
|
"hotWords": [ |
||||
|
"小猪", |
||||
|
"今天", |
||||
|
"宝宝", |
||||
|
"看到" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#小猪" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "王者荣耀", |
||||
|
"description": "#西施FMVP星传说皮肤 硝烟再起,战火重燃。2026KPL春季赛即将开战,整装待发的十八支战队将再次以银龙杯为目标,踏上逐梦之旅,与此同时,也为大家带来了全新的2026春季赛事战令,1月14日上线,这个春天,该我上场!#清融游龙堇华星传说 #王者荣耀", |
||||
|
"hot": "17.8万", |
||||
|
"plays": "283.3万", |
||||
|
"likes": "16.3万", |
||||
|
"comments": "2.2万", |
||||
|
"hotWords": [ |
||||
|
"重燃", |
||||
|
"十八", |
||||
|
"14", |
||||
|
"战火" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#西施FMVP星传说皮肤", |
||||
|
"#清融游龙堇华星传说", |
||||
|
"#王者荣耀" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "瓜田小圆", |
||||
|
"description": "那年一句洗不掉了,造就了真神#梵葵葵 #奥特曼 #抽象", |
||||
|
"hot": "3.4万", |
||||
|
"plays": "272.3万", |
||||
|
"likes": "3.8万", |
||||
|
"comments": "245", |
||||
|
"hotWords": [ |
||||
|
"造就", |
||||
|
"抽象", |
||||
|
"奥特曼", |
||||
|
"一句" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#梵葵葵", |
||||
|
"#奥特曼", |
||||
|
"#抽象" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "柚子玩游戏", |
||||
|
"description": "#三国杀小游戏#三国杀 #三国杀日记", |
||||
|
"hot": "7256", |
||||
|
"plays": "257.4万", |
||||
|
"likes": "27.2万", |
||||
|
"comments": "262", |
||||
|
"hotWords": [ |
||||
|
"三国", |
||||
|
"日记" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#三国杀小游戏", |
||||
|
"#三国杀", |
||||
|
"#三国杀日记" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "云顶阿东", |
||||
|
"description": "艾克找到了完美的时间线,所有强化符文将会是棱彩阶 #英雄联盟 #云顶之弈 #艾克", |
||||
|
"hot": "5.4万", |
||||
|
"plays": "248.9万", |
||||
|
"likes": "15.3万", |
||||
|
"comments": "2059", |
||||
|
"hotWords": [ |
||||
|
"之弈", |
||||
|
"英雄联盟", |
||||
|
"所有", |
||||
|
"符文" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#云顶之弈", |
||||
|
"#艾克" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "兰斯Rance", |
||||
|
"description": "三个召唤师能技能,等级上限20!S16赛季上路全改动详解 #英雄联盟 #S16季前赛 #LOL #上单", |
||||
|
"hot": "3.5万", |
||||
|
"plays": "233.0万", |
||||
|
"likes": "3.4万", |
||||
|
"comments": "2667", |
||||
|
"hotWords": [ |
||||
|
"等级", |
||||
|
"季前赛", |
||||
|
"改动", |
||||
|
"详解" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#英雄联盟", |
||||
|
"#S16季前赛", |
||||
|
"#LOL", |
||||
|
"#上单" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "摸娱研究所", |
||||
|
"description": "支付宝会被黑客攻击吗#支付宝 #黑客 #科技", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "229.6万", |
||||
|
"likes": "9.1万", |
||||
|
"comments": "4131", |
||||
|
"hotWords": [ |
||||
|
"黑客攻击", |
||||
|
"科技", |
||||
|
"黑客" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#支付宝", |
||||
|
"#黑客", |
||||
|
"#科技" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "张龙翔", |
||||
|
"description": "一分钟学会如何完成棋子全解锁彩蛋 #云顶之弈英雄联盟传奇 #格温狂欢月", |
||||
|
"hot": "4.0万", |
||||
|
"plays": "228.4万", |
||||
|
"likes": "3.3万", |
||||
|
"comments": "766", |
||||
|
"hotWords": [ |
||||
|
"学会", |
||||
|
"传奇", |
||||
|
"解锁", |
||||
|
"之弈" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#云顶之弈英雄联盟传奇", |
||||
|
"#格温狂欢月" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "碎碎念的羊", |
||||
|
"description": "我亲手参与了骑手的算法代码? (视频灵感来源于外网原贴)#外卖#社会百态 #骑手 #正能量", |
||||
|
"hot": "8.0万", |
||||
|
"plays": "202.3万", |
||||
|
"likes": "18.3万", |
||||
|
"comments": "3751", |
||||
|
"hotWords": [ |
||||
|
"视频", |
||||
|
"百态", |
||||
|
"来源于", |
||||
|
"参与" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#外卖", |
||||
|
"#社会百态", |
||||
|
"#骑手", |
||||
|
"#正能量" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,456 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"page_title": "抖音创作指导 - 热门视频", |
||||
|
"category": "美食", |
||||
|
"platform": "douyin", |
||||
|
"crawl_time": "2026-01-07T11:40:36.582269", |
||||
|
"total_videos": 20, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "跳投哥葱油饼", |
||||
|
"description": "#跳投葱油饼 #迈克尔油饼 完了,这下废了😭", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/2664830965398068?sec_uid=MS4wLjABAAAAMz_4XB0gQ19rFm11JUuhcxjmowgmZIFjynL9JCCg0CWwF_qLqPegdu8JnW8wvov7", |
||||
|
"duration": "", |
||||
|
"hot": "28.3万", |
||||
|
"plays": "644.0万", |
||||
|
"likes": "54.5万", |
||||
|
"comments": "4456", |
||||
|
"hotWords": [ |
||||
|
"跳投", |
||||
|
"迈克尔", |
||||
|
"葱油饼", |
||||
|
"油饼" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#跳投葱油饼", |
||||
|
"#迈克尔油饼" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "特别乌啦啦", |
||||
|
"description": "花141元在包头吃「烩菜」~酸菜粉条土豆真的比肉还好吃 #特别乌啦啦 #心动打卡指南 #好好吃饭 #人间烟火", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/77243783127?sec_uid=MS4wLjABAAAA06cB2RlRk7OHa9kgABE5o1nftc0LTCwGgqnZjp0DRXw", |
||||
|
"duration": "", |
||||
|
"hot": "12.0万", |
||||
|
"plays": "571.8万", |
||||
|
"likes": "44.0万", |
||||
|
"comments": "5.4万", |
||||
|
"hotWords": [ |
||||
|
"人间烟火", |
||||
|
"土豆", |
||||
|
"真的", |
||||
|
"好好吃饭" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#特别乌啦啦", |
||||
|
"#心动打卡指南", |
||||
|
"#好好吃饭", |
||||
|
"#人间烟火" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "小顺枫", |
||||
|
"description": "推荐一些适合情侣约会的地点#情侣 #约会 #出片", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/294319272493550?sec_uid=MS4wLjABAAAAjSnx066hxwfVUhdSkjbd2Z-5qKf6OCk4iPurA2JqbY4", |
||||
|
"duration": "", |
||||
|
"hot": "32.4万", |
||||
|
"plays": "526.3万", |
||||
|
"likes": "17.8万", |
||||
|
"comments": "1.6万", |
||||
|
"hotWords": [ |
||||
|
"出片", |
||||
|
"地点", |
||||
|
"适合", |
||||
|
"一些" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#情侣", |
||||
|
"#约会", |
||||
|
"#出片" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "关哥味道", |
||||
|
"description": "又到年底了,还有多少人记得这个东西 #过年了 #传统手艺 #农村美食", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/2084282391864480?sec_uid=MS4wLjABAAAAMDJUHweeB_YjPOivUG2jKuA4yA7Iad9H0Rzgne-eizS66A8ftqInQXUPWpdAbnLm", |
||||
|
"duration": "", |
||||
|
"hot": "5.8万", |
||||
|
"plays": "420.3万", |
||||
|
"likes": "20.7万", |
||||
|
"comments": "1907", |
||||
|
"hotWords": [ |
||||
|
"美食", |
||||
|
"农村", |
||||
|
"这个", |
||||
|
"记得" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#过年了", |
||||
|
"#传统手艺", |
||||
|
"#农村美食" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "村驴", |
||||
|
"description": "外酥里嫩,回味无穷‼️过年一定要试试的茴香小酥肉‼️ #美食教程 #小酥肉 #茴香小酥肉 #年夜菜", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/2102710620403535?sec_uid=MS4wLjABAAAAhWJM2SvSwva8ONKjo5qSkJFCzCYjRMOjRFn_6EW7w9HqAZPRoJL5YnkC7KOZpRnq", |
||||
|
"duration": "", |
||||
|
"hot": "5.5万", |
||||
|
"plays": "416.6万", |
||||
|
"likes": "9.9万", |
||||
|
"comments": "1605", |
||||
|
"hotWords": [ |
||||
|
"美食", |
||||
|
"回味无穷", |
||||
|
"教程", |
||||
|
"茴香" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#美食教程", |
||||
|
"#小酥肉", |
||||
|
"#茴香小酥肉", |
||||
|
"#年夜菜" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "囧嫂教做菜", |
||||
|
"description": "蒸鸡蛋羹详细制作方法 蒸鸡蛋羹零失败的方法#家常菜 #蒸鸡蛋糕#蒸鸡蛋羹方法", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/2330584313765480?sec_uid=MS4wLjABAAAAz5Fd33PLYE34hOWESS_39Miydk1dTIFV8bxtuG1A0gQ__UspVrV5An7k5fLCGzsh", |
||||
|
"duration": "", |
||||
|
"hot": "3.3万", |
||||
|
"plays": "402.8万", |
||||
|
"likes": "12.4万", |
||||
|
"comments": "606", |
||||
|
"hotWords": [ |
||||
|
"制作方法", |
||||
|
"鸡蛋糕", |
||||
|
"方法", |
||||
|
"失败" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#家常菜", |
||||
|
"#蒸鸡蛋糕", |
||||
|
"#蒸鸡蛋羹方法" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "刘雨鑫JASON", |
||||
|
"description": "今天在攀枝花米易吃硬核烤肉,尝尝怎么样? #人间烟火 #烧烤 #米易 #攀枝花", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/64065532462?sec_uid=MS4wLjABAAAAkI19ScIWLO0eUVmcZ7hj6gIc11c8rpxLZ0MNaTDpmmc", |
||||
|
"duration": "", |
||||
|
"hot": "4.7万", |
||||
|
"plays": "362.9万", |
||||
|
"likes": "16.5万", |
||||
|
"comments": "2575", |
||||
|
"hotWords": [ |
||||
|
"尝尝", |
||||
|
"今天", |
||||
|
"攀枝花", |
||||
|
"烤肉" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#人间烟火", |
||||
|
"#烧烤", |
||||
|
"#米易", |
||||
|
"#攀枝花" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "达哥在上海", |
||||
|
"description": "吃牛肉火锅 还得来潮汕啊!45一盘的雪花肥牛,3秒出锅 蘸满沙茶酱嘎嘎好吃,在汕头吃藏在小区里的牛肉火锅,虽然牛肉的部位没有那么齐全,但是烟火气满满#潮汕美食#鲜牛肉火锅#潮汕牛肉火锅#汕头美食", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/106609474987?sec_uid=MS4wLjABAAAAe6ww-KW3nCqmIFuwcUz53hN0c73cKndHGTc13X7pGko", |
||||
|
"duration": "", |
||||
|
"hot": "6.0万", |
||||
|
"plays": "353.7万", |
||||
|
"likes": "8.6万", |
||||
|
"comments": "4105", |
||||
|
"hotWords": [ |
||||
|
"满满", |
||||
|
"虽然", |
||||
|
"雪花", |
||||
|
"出锅" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#潮汕美食", |
||||
|
"#鲜牛肉火锅", |
||||
|
"#潮汕牛肉火锅", |
||||
|
"#汕头美食" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "香嗝喱辣", |
||||
|
"description": "用一只牛腿在家自制牛肉卷吃起来有多爽 #牛腿 #火锅 #涮肉", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/4300915500657368?sec_uid=MS4wLjABAAAA7eLM5TzhoZf4qHC_l0DfnUzyG8DaPpkQdBvSuKArt6wtrqVwmROxmxiC5-Lg6emc", |
||||
|
"duration": "", |
||||
|
"hot": "7.1万", |
||||
|
"plays": "352.4万", |
||||
|
"likes": "8.8万", |
||||
|
"comments": "4218", |
||||
|
"hotWords": [ |
||||
|
"自制", |
||||
|
"火锅", |
||||
|
"牛肉", |
||||
|
"牛腿" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#牛腿", |
||||
|
"#火锅", |
||||
|
"#涮肉" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "九转大肠俞涛", |
||||
|
"description": "重装徒步 #硬核 #户外 #户外生活 #徒步 #重装徒步", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/72874267345?sec_uid=MS4wLjABAAAAbWW6wBRptMqt36BT0B656eYEPGuQ5cRn8NluB6Bl2EE", |
||||
|
"duration": "", |
||||
|
"hot": "10.4万", |
||||
|
"plays": "351.5万", |
||||
|
"likes": "16.5万", |
||||
|
"comments": "9633", |
||||
|
"hotWords": [ |
||||
|
"徒步", |
||||
|
"硬核", |
||||
|
"重装", |
||||
|
"户外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#硬核", |
||||
|
"#户外", |
||||
|
"#户外生活", |
||||
|
"#徒步", |
||||
|
"#重装徒步" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "白三碗", |
||||
|
"description": "拜见!!抹茶!车厘子!!水果!千层!!蛋糕!大王!! #谁懂这一口的好吃程度", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/56202595406?sec_uid=MS4wLjABAAAAHqq6gIILUljAmatTFXoPpTVel8eeG91vCtVc3uZMg9U", |
||||
|
"duration": "", |
||||
|
"hot": "22.1万", |
||||
|
"plays": "329.1万", |
||||
|
"likes": "8.5万", |
||||
|
"comments": "2509", |
||||
|
"hotWords": [ |
||||
|
"拜见", |
||||
|
"大王", |
||||
|
"好吃", |
||||
|
"一口" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#谁懂这一口的好吃程度" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "暴躁姐", |
||||
|
"description": "年夜饭邪修版,一锅出它12个菜,还得个个有个年夜饭的样#年夜饭菜谱 #一锅出十几个菜 #暴躁做饭 #一锅出", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/3773146867173086?sec_uid=MS4wLjABAAAAEbdyDJ4QBUeBMdW4DIOhkwd2pVhSGkL3awOse_mjGpJvz2X5nSnovOQPZqz5dyil", |
||||
|
"duration": "", |
||||
|
"hot": "8.2万", |
||||
|
"plays": "309.5万", |
||||
|
"likes": "68.5万", |
||||
|
"comments": "5388", |
||||
|
"hotWords": [ |
||||
|
"菜谱", |
||||
|
"有个", |
||||
|
"做饭", |
||||
|
"修版" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#年夜饭菜谱", |
||||
|
"#一锅出十几个菜", |
||||
|
"#暴躁做饭", |
||||
|
"#一锅出" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "挑食的林七七", |
||||
|
"description": "这么好吃的#巧克力 脆挞谁能拒绝啊!酥脆的外壳裹着醇香丝滑的巧克力,一口下去口感丰富#嘎嘎好吃 #解馋 #吃货", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/739348269509519?sec_uid=MS4wLjABAAAAZEpFSFmEgIugoqZ6goy07bJJd2c1e5n5wrB_oYdQApM", |
||||
|
"duration": "", |
||||
|
"hot": "9317", |
||||
|
"plays": "308.8万", |
||||
|
"likes": "11.2万", |
||||
|
"comments": "178", |
||||
|
"hotWords": [ |
||||
|
"这么", |
||||
|
"脆挞", |
||||
|
"酥脆", |
||||
|
"口感" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#巧克力", |
||||
|
"#嘎嘎好吃", |
||||
|
"#解馋", |
||||
|
"#吃货" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "达哥在上海", |
||||
|
"description": "在无锡蓉湖南路感受无锡老字号面馆的“浓油赤酱”2碗面配上10个浇头还有1两小笼才花了110块,性价比简直炸裂#无锡面馆#拌面#无锡美食#浓油赤酱", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/106609474987?sec_uid=MS4wLjABAAAAe6ww-KW3nCqmIFuwcUz53hN0c73cKndHGTc13X7pGko", |
||||
|
"duration": "", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "283.0万", |
||||
|
"likes": "8.9万", |
||||
|
"comments": "1309", |
||||
|
"hotWords": [ |
||||
|
"美食", |
||||
|
"110", |
||||
|
"简直", |
||||
|
"性价比" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#无锡面馆", |
||||
|
"#拌面", |
||||
|
"#无锡美食", |
||||
|
"#浓油赤酱" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "糖画queen", |
||||
|
"description": "乌萨奇对你说:“天气会变 情绪会变 但追求快乐的心 请不要变”#属于非遗人的年终MVP结算#百young非遗计划#非遗祈福百景图#我用非遗祈福新年#乌萨奇", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/65269273107?sec_uid=MS4wLjABAAAAtJOiT1U0um56UiACIPId4R48-5DHzw-Q5iYHg83gkLk", |
||||
|
"duration": "", |
||||
|
"hot": "2.6万", |
||||
|
"plays": "270.0万", |
||||
|
"likes": "6.0万", |
||||
|
"comments": "355", |
||||
|
"hotWords": [ |
||||
|
"结算", |
||||
|
"快乐", |
||||
|
"情绪", |
||||
|
"新年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#属于非遗人的年终MVP结算", |
||||
|
"#百young非遗计划", |
||||
|
"#非遗祈福百景图", |
||||
|
"#我用非遗祈福新年", |
||||
|
"#乌萨奇" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "小胖哥教做菜", |
||||
|
"description": "年夜饭25道家常菜、糖醋里脊的做法 年夜饭25道家常菜、糖醋里脊的做法#年夜饭#家常菜#糖醋里脊", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/61988235089?sec_uid=MS4wLjABAAAAiR4yr7Bb84N1cuamGylh7USbjVJiPRltQjJbOWKC8PM", |
||||
|
"duration": "", |
||||
|
"hot": "1.8万", |
||||
|
"plays": "264.3万", |
||||
|
"likes": "13.6万", |
||||
|
"comments": "226", |
||||
|
"hotWords": [ |
||||
|
"25", |
||||
|
"糖醋", |
||||
|
"家常菜", |
||||
|
"做法" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#年夜饭", |
||||
|
"#家常菜", |
||||
|
"#糖醋里脊" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "泰国铃铛大叔", |
||||
|
"description": "酸辣🍋🟩小米辣蘸水🌶️巨大🐚大田螺 #泰国大叔#泰国美食#内容启发搜索 #种草激励计划#全民任务", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/4503658464550164?sec_uid=MS4wLjABAAAACa-gBPUuEJcX3N0yX3zkwkfhADAC3hanl6MurQKLArsQmEqcgFaHs8pjPvH_3d-2", |
||||
|
"duration": "", |
||||
|
"hot": "3.3万", |
||||
|
"plays": "256.0万", |
||||
|
"likes": "3.2万", |
||||
|
"comments": "1313", |
||||
|
"hotWords": [ |
||||
|
"种草", |
||||
|
"激励", |
||||
|
"计划", |
||||
|
"启发" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#泰国大叔", |
||||
|
"#泰国美食", |
||||
|
"#内容启发搜索", |
||||
|
"#种草激励计划", |
||||
|
"#全民任务" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "胡仔一人食", |
||||
|
"description": "一口爆汁的草莓鸡腿", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/96616276559?sec_uid=MS4wLjABAAAAShyineeg9JgP3AMuvBasVtpbX9N5GqJzotd8DDXXXhU", |
||||
|
"duration": "", |
||||
|
"hot": "7.5万", |
||||
|
"plays": "246.6万", |
||||
|
"likes": "8.4万", |
||||
|
"comments": "1057", |
||||
|
"hotWords": [ |
||||
|
"一口", |
||||
|
"草莓", |
||||
|
"鸡腿" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "CHAGEE霸王茶姬", |
||||
|
"description": "本花真味,茶香自然。\n闽地三重乌龙韵,桂林两叠当季桂花香,再历经七道筛花、多段渐进焙火,1月5日,「桂馥兰香」茶底全国焕新升级! \n#桂馥兰香更香了 它来得迟,却来得正好。正如美好的事物,总是出现在最恰当的时候。愿你从这杯温热里,尝到时间走过的痕迹,与花茶本真的味道。\n#霸王茶姬桂馥兰香", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/97187298018967?sec_uid=MS4wLjABAAAAqJ7JQoEM6S_iVXUO2lDzLsGe11Wt8mICkfMXWTKLm7o", |
||||
|
"duration": "", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "236.9万", |
||||
|
"likes": "7470", |
||||
|
"comments": "3.0万", |
||||
|
"hotWords": [ |
||||
|
"全国", |
||||
|
"焕新", |
||||
|
"花茶", |
||||
|
"闽地" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#桂馥兰香更香了", |
||||
|
"#霸王茶姬桂馥兰香" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "夏叔有好货", |
||||
|
"description": "层次分明,酱香浓郁的酱香饼是好做又好吃,跟着夏叔一起学起来~ #酱香饼#美食教程#当季新菜单挑战赛#家常菜#早餐", |
||||
|
"authorLink": "https://www.iesdouyin.com/share/user/87994108405?sec_uid=MS4wLjABAAAAYtlQLt-OC194Dspu9QnofW_24s_Cw1ey7dRfD8hdDoE", |
||||
|
"duration": "", |
||||
|
"hot": "4.2万", |
||||
|
"plays": "234.6万", |
||||
|
"likes": "23.6万", |
||||
|
"comments": "461", |
||||
|
"hotWords": [ |
||||
|
"家常菜", |
||||
|
"早餐", |
||||
|
"夏叔", |
||||
|
"当季" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#酱香饼", |
||||
|
"#美食教程", |
||||
|
"#当季新菜单挑战赛", |
||||
|
"#家常菜", |
||||
|
"#早餐" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,414 @@ |
|||||
|
{ |
||||
|
"page_url": "https://creator.douyin.com/creator-micro/creative-guidance", |
||||
|
"category": "美食", |
||||
|
"crawl_time": "2026-01-07T12:34:42.800074", |
||||
|
"total_videos": 20, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "跳投哥葱油饼", |
||||
|
"description": "#跳投葱油饼 #迈克尔油饼 完了,这下废了😭", |
||||
|
"hot": "28.3万", |
||||
|
"plays": "644.0万", |
||||
|
"likes": "55.1万", |
||||
|
"comments": "4456", |
||||
|
"hotWords": [ |
||||
|
"跳投", |
||||
|
"迈克尔", |
||||
|
"葱油饼", |
||||
|
"油饼" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#跳投葱油饼", |
||||
|
"#迈克尔油饼" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "特别乌啦啦", |
||||
|
"description": "花141元在包头吃「烩菜」~酸菜粉条土豆真的比肉还好吃 #特别乌啦啦 #心动打卡指南 #好好吃饭 #人间烟火", |
||||
|
"hot": "12.0万", |
||||
|
"plays": "571.8万", |
||||
|
"likes": "44.2万", |
||||
|
"comments": "5.4万", |
||||
|
"hotWords": [ |
||||
|
"人间烟火", |
||||
|
"土豆", |
||||
|
"真的", |
||||
|
"好好吃饭" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#特别乌啦啦", |
||||
|
"#心动打卡指南", |
||||
|
"#好好吃饭", |
||||
|
"#人间烟火" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "小顺枫", |
||||
|
"description": "推荐一些适合情侣约会的地点#情侣 #约会 #出片", |
||||
|
"hot": "32.4万", |
||||
|
"plays": "526.3万", |
||||
|
"likes": "17.9万", |
||||
|
"comments": "1.6万", |
||||
|
"hotWords": [ |
||||
|
"出片", |
||||
|
"地点", |
||||
|
"适合", |
||||
|
"一些" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#情侣", |
||||
|
"#约会", |
||||
|
"#出片" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 4, |
||||
|
"author": "关哥味道", |
||||
|
"description": "又到年底了,还有多少人记得这个东西 #过年了 #传统手艺 #农村美食", |
||||
|
"hot": "5.8万", |
||||
|
"plays": "420.3万", |
||||
|
"likes": "20.8万", |
||||
|
"comments": "1907", |
||||
|
"hotWords": [ |
||||
|
"美食", |
||||
|
"农村", |
||||
|
"这个", |
||||
|
"记得" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#过年了", |
||||
|
"#传统手艺", |
||||
|
"#农村美食" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 5, |
||||
|
"author": "村驴", |
||||
|
"description": "外酥里嫩,回味无穷‼️过年一定要试试的茴香小酥肉‼️ #美食教程 #小酥肉 #茴香小酥肉 #年夜菜", |
||||
|
"hot": "5.5万", |
||||
|
"plays": "416.6万", |
||||
|
"likes": "10.2万", |
||||
|
"comments": "1605", |
||||
|
"hotWords": [ |
||||
|
"美食", |
||||
|
"回味无穷", |
||||
|
"教程", |
||||
|
"茴香" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#美食教程", |
||||
|
"#小酥肉", |
||||
|
"#茴香小酥肉", |
||||
|
"#年夜菜" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 6, |
||||
|
"author": "囧嫂教做菜", |
||||
|
"description": "蒸鸡蛋羹详细制作方法 蒸鸡蛋羹零失败的方法#家常菜 #蒸鸡蛋糕#蒸鸡蛋羹方法", |
||||
|
"hot": "3.3万", |
||||
|
"plays": "402.8万", |
||||
|
"likes": "12.5万", |
||||
|
"comments": "606", |
||||
|
"hotWords": [ |
||||
|
"制作方法", |
||||
|
"鸡蛋糕", |
||||
|
"方法", |
||||
|
"失败" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#家常菜", |
||||
|
"#蒸鸡蛋糕", |
||||
|
"#蒸鸡蛋羹方法" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 7, |
||||
|
"author": "刘雨鑫JASON", |
||||
|
"description": "今天在攀枝花米易吃硬核烤肉,尝尝怎么样? #人间烟火 #烧烤 #米易 #攀枝花", |
||||
|
"hot": "4.7万", |
||||
|
"plays": "362.9万", |
||||
|
"likes": "16.6万", |
||||
|
"comments": "2575", |
||||
|
"hotWords": [ |
||||
|
"尝尝", |
||||
|
"今天", |
||||
|
"攀枝花", |
||||
|
"烤肉" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#人间烟火", |
||||
|
"#烧烤", |
||||
|
"#米易", |
||||
|
"#攀枝花" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 8, |
||||
|
"author": "达哥在上海", |
||||
|
"description": "吃牛肉火锅 还得来潮汕啊!45一盘的雪花肥牛,3秒出锅 蘸满沙茶酱嘎嘎好吃,在汕头吃藏在小区里的牛肉火锅,虽然牛肉的部位没有那么齐全,但是烟火气满满#潮汕美食#鲜牛肉火锅#潮汕牛肉火锅#汕头美食", |
||||
|
"hot": "6.0万", |
||||
|
"plays": "353.7万", |
||||
|
"likes": "8.9万", |
||||
|
"comments": "4105", |
||||
|
"hotWords": [ |
||||
|
"满满", |
||||
|
"虽然", |
||||
|
"雪花", |
||||
|
"出锅" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#潮汕美食", |
||||
|
"#鲜牛肉火锅", |
||||
|
"#潮汕牛肉火锅", |
||||
|
"#汕头美食" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 9, |
||||
|
"author": "香嗝喱辣", |
||||
|
"description": "用一只牛腿在家自制牛肉卷吃起来有多爽 #牛腿 #火锅 #涮肉", |
||||
|
"hot": "7.1万", |
||||
|
"plays": "352.4万", |
||||
|
"likes": "8.9万", |
||||
|
"comments": "4218", |
||||
|
"hotWords": [ |
||||
|
"自制", |
||||
|
"火锅", |
||||
|
"牛肉", |
||||
|
"牛腿" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#牛腿", |
||||
|
"#火锅", |
||||
|
"#涮肉" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 10, |
||||
|
"author": "九转大肠俞涛", |
||||
|
"description": "重装徒步 #硬核 #户外 #户外生活 #徒步 #重装徒步", |
||||
|
"hot": "10.4万", |
||||
|
"plays": "351.5万", |
||||
|
"likes": "17.0万", |
||||
|
"comments": "9633", |
||||
|
"hotWords": [ |
||||
|
"徒步", |
||||
|
"硬核", |
||||
|
"重装", |
||||
|
"户外" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#硬核", |
||||
|
"#户外", |
||||
|
"#户外生活", |
||||
|
"#徒步", |
||||
|
"#重装徒步" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 11, |
||||
|
"author": "白三碗", |
||||
|
"description": "拜见!!抹茶!车厘子!!水果!千层!!蛋糕!大王!! #谁懂这一口的好吃程度", |
||||
|
"hot": "22.1万", |
||||
|
"plays": "329.1万", |
||||
|
"likes": "9.0万", |
||||
|
"comments": "2509", |
||||
|
"hotWords": [ |
||||
|
"拜见", |
||||
|
"大王", |
||||
|
"好吃", |
||||
|
"一口" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#谁懂这一口的好吃程度" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 12, |
||||
|
"author": "暴躁姐", |
||||
|
"description": "年夜饭邪修版,一锅出它12个菜,还得个个有个年夜饭的样#年夜饭菜谱 #一锅出十几个菜 #暴躁做饭 #一锅出", |
||||
|
"hot": "8.2万", |
||||
|
"plays": "309.5万", |
||||
|
"likes": "68.9万", |
||||
|
"comments": "5388", |
||||
|
"hotWords": [ |
||||
|
"菜谱", |
||||
|
"有个", |
||||
|
"做饭", |
||||
|
"修版" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#年夜饭菜谱", |
||||
|
"#一锅出十几个菜", |
||||
|
"#暴躁做饭", |
||||
|
"#一锅出" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 13, |
||||
|
"author": "挑食的林七七", |
||||
|
"description": "这么好吃的#巧克力 脆挞谁能拒绝啊!酥脆的外壳裹着醇香丝滑的巧克力,一口下去口感丰富#嘎嘎好吃 #解馋 #吃货", |
||||
|
"hot": "9317", |
||||
|
"plays": "308.8万", |
||||
|
"likes": "11.3万", |
||||
|
"comments": "178", |
||||
|
"hotWords": [ |
||||
|
"这么", |
||||
|
"脆挞", |
||||
|
"酥脆", |
||||
|
"口感" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#巧克力", |
||||
|
"#嘎嘎好吃", |
||||
|
"#解馋", |
||||
|
"#吃货" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 14, |
||||
|
"author": "达哥在上海", |
||||
|
"description": "在无锡蓉湖南路感受无锡老字号面馆的“浓油赤酱”2碗面配上10个浇头还有1两小笼才花了110块,性价比简直炸裂#无锡面馆#拌面#无锡美食#浓油赤酱", |
||||
|
"hot": "2.7万", |
||||
|
"plays": "283.0万", |
||||
|
"likes": "8.9万", |
||||
|
"comments": "1309", |
||||
|
"hotWords": [ |
||||
|
"美食", |
||||
|
"110", |
||||
|
"简直", |
||||
|
"性价比" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#无锡面馆", |
||||
|
"#拌面", |
||||
|
"#无锡美食", |
||||
|
"#浓油赤酱" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 15, |
||||
|
"author": "糖画queen", |
||||
|
"description": "乌萨奇对你说:“天气会变 情绪会变 但追求快乐的心 请不要变”#属于非遗人的年终MVP结算#百young非遗计划#非遗祈福百景图#我用非遗祈福新年#乌萨奇", |
||||
|
"hot": "2.6万", |
||||
|
"plays": "270.0万", |
||||
|
"likes": "6.1万", |
||||
|
"comments": "355", |
||||
|
"hotWords": [ |
||||
|
"结算", |
||||
|
"快乐", |
||||
|
"情绪", |
||||
|
"新年" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#属于非遗人的年终MVP结算", |
||||
|
"#百young非遗计划", |
||||
|
"#非遗祈福百景图", |
||||
|
"#我用非遗祈福新年", |
||||
|
"#乌萨奇" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 16, |
||||
|
"author": "小胖哥教做菜", |
||||
|
"description": "年夜饭25道家常菜、糖醋里脊的做法 年夜饭25道家常菜、糖醋里脊的做法#年夜饭#家常菜#糖醋里脊", |
||||
|
"hot": "1.8万", |
||||
|
"plays": "264.3万", |
||||
|
"likes": "13.8万", |
||||
|
"comments": "226", |
||||
|
"hotWords": [ |
||||
|
"25", |
||||
|
"糖醋", |
||||
|
"家常菜", |
||||
|
"做法" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#年夜饭", |
||||
|
"#家常菜", |
||||
|
"#糖醋里脊" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 17, |
||||
|
"author": "泰国铃铛大叔", |
||||
|
"description": "酸辣🍋🟩小米辣蘸水🌶️巨大🐚大田螺 #泰国大叔#泰国美食#内容启发搜索 #种草激励计划#全民任务", |
||||
|
"hot": "3.3万", |
||||
|
"plays": "256.0万", |
||||
|
"likes": "3.3万", |
||||
|
"comments": "1313", |
||||
|
"hotWords": [ |
||||
|
"种草", |
||||
|
"激励", |
||||
|
"计划", |
||||
|
"启发" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#泰国大叔", |
||||
|
"#泰国美食", |
||||
|
"#内容启发搜索", |
||||
|
"#种草激励计划", |
||||
|
"#全民任务" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 18, |
||||
|
"author": "胡仔一人食", |
||||
|
"description": "一口爆汁的草莓鸡腿", |
||||
|
"hot": "7.5万", |
||||
|
"plays": "246.6万", |
||||
|
"likes": "8.7万", |
||||
|
"comments": "1057", |
||||
|
"hotWords": [ |
||||
|
"一口", |
||||
|
"草莓", |
||||
|
"鸡腿" |
||||
|
], |
||||
|
"hashTags": [] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 19, |
||||
|
"author": "CHAGEE霸王茶姬", |
||||
|
"description": "本花真味,茶香自然。\n闽地三重乌龙韵,桂林两叠当季桂花香,再历经七道筛花、多段渐进焙火,1月5日,「桂馥兰香」茶底全国焕新升级! \n#桂馥兰香更香了 它来得迟,却来得正好。正如美好的事物,总是出现在最恰当的时候。愿你从这杯温热里,尝到时间走过的痕迹,与花茶本真的味道。\n#霸王茶姬桂馥兰香", |
||||
|
"hot": "7.8万", |
||||
|
"plays": "236.9万", |
||||
|
"likes": "7483", |
||||
|
"comments": "3.0万", |
||||
|
"hotWords": [ |
||||
|
"全国", |
||||
|
"焕新", |
||||
|
"花茶", |
||||
|
"闽地" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#桂馥兰香更香了", |
||||
|
"#霸王茶姬桂馥兰香" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 20, |
||||
|
"author": "夏叔有好货", |
||||
|
"description": "层次分明,酱香浓郁的酱香饼是好做又好吃,跟着夏叔一起学起来~ #酱香饼#美食教程#当季新菜单挑战赛#家常菜#早餐", |
||||
|
"hot": "4.2万", |
||||
|
"plays": "234.6万", |
||||
|
"likes": "24.0万", |
||||
|
"comments": "461", |
||||
|
"hotWords": [ |
||||
|
"家常菜", |
||||
|
"早餐", |
||||
|
"夏叔", |
||||
|
"当季" |
||||
|
], |
||||
|
"hashTags": [ |
||||
|
"#酱香饼", |
||||
|
"#美食教程", |
||||
|
"#当季新菜单挑战赛", |
||||
|
"#家常菜", |
||||
|
"#早餐" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,684 @@ |
|||||
|
{ |
||||
|
"keyword": "校园", |
||||
|
"crawl_time": "2026-01-06 15:33:54", |
||||
|
"total_count": 50, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591167924829184249", |
||||
|
"title": "俩同学听到“一楼集合”,这反应绝了 #班级日常 #校园 #一人分饰多角 素材来源于:", |
||||
|
"author": "老邢-", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "05:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"班级日常", |
||||
|
"校园", |
||||
|
"一人分饰多角" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7425467474835016960", |
||||
|
"title": "大学生宣传片《这是我的大学》来啦,献给即将毕业的自己,献给昭院,献给你所热爱的一切,感谢参与拍摄的朋友们#校园微电影 #我的大学时代 #我的大学#拍出电影感 #我的大学 #昭院短视频创作大赛", |
||||
|
"author": "攒劲1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园微电影", |
||||
|
"我的大学时代", |
||||
|
"我的大学", |
||||
|
"拍出电影感", |
||||
|
"我的大学", |
||||
|
"昭院短视频创作大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590693183940496682", |
||||
|
"title": "一名老师VS十名学生!校园捉迷藏第二期! #高中生活 #校园捉迷藏 #大疆 #未来导演扶持计划 #自制综艺 #我的校园超丰富", |
||||
|
"author": "ChenLewy3天前", |
||||
|
"publishTime": "3天前", |
||||
|
"duration": "22:25", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"高中生活", |
||||
|
"校园捉迷藏", |
||||
|
"大疆", |
||||
|
"未来导演扶持计划", |
||||
|
"自制综艺", |
||||
|
"我的校园超丰富" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592069690622623398", |
||||
|
"title": "#校园生活 #校园故事", |
||||
|
"author": "南城一正(尊享版)3小时前", |
||||
|
"publishTime": "3小时前", |
||||
|
"duration": "13:45", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"校园故事" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591433957267685297", |
||||
|
"title": "这个手机不得不交啊#校园生活 #师生日常 #校园趣事 #师生情", |
||||
|
"author": "小侯老师.1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "01:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"师生日常", |
||||
|
"校园趣事", |
||||
|
"师生情" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7475003010825932069", |
||||
|
"title": "校园时灌风的校服,裹着整个青春里最大的爱意#学生时代 #校园生活 #因为一个片段看了整部剧", |
||||
|
"author": "花生了什么树🎄10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "11:14", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"校园生活", |
||||
|
"因为一个片段看了整部剧" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591487570769963429", |
||||
|
"title": "#高中#班级日常#校园#剧情#学生时代", |
||||
|
"author": "叮叮喵dxy", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "04:06", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高中", |
||||
|
"班级日常", |
||||
|
"校园", |
||||
|
"剧情", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7547407626620079395", |
||||
|
"title": "“带大家逛校园——清华大学!来看看你未来的学校!除了震惊还是震惊!” #逛校园 #清华大学", |
||||
|
"author": "王一凡3月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:37", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"逛校园", |
||||
|
"清华大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474992520179535140", |
||||
|
"title": "#学生时代的高甜瞬间 #独属于学生时代的魅力 #那些属于学生时代的小确幸 #上学时代的我们 #很火的校园剧推荐", |
||||
|
"author": "最美声音10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的高甜瞬间", |
||||
|
"独属于学生时代的魅力", |
||||
|
"那些属于学生时代的小确幸", |
||||
|
"上学时代的我们", |
||||
|
"很火的校园剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7588885205835026673", |
||||
|
"title": "“校园的美好时光,致那些双向奔赴的暗恋”#高甜来袭 #青春校园@", |
||||
|
"author": "唯有伊人1周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高甜来袭", |
||||
|
"青春校园@" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7577253876009618703", |
||||
|
"title": "🍃📹解锁校园新风尚!《这样的你》宣传片重磅发布——以学风正校风,以文明育新人,一起为美好校园打call~#河南师范大学#学风建设#文明校园", |
||||
|
"author": "河南师范大学软件学院1月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:31", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"河南师范大学", |
||||
|
"学风建设", |
||||
|
"文明校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591886595192644773", |
||||
|
"title": "学霸校花一眼认出面前不学无术的校霸 十年后会成为京州首富~#校园 #爱情", |
||||
|
"author": "一颗油菜16小时前", |
||||
|
"publishTime": "16小时前", |
||||
|
"duration": "01:21", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"爱情" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591520961212501300", |
||||
|
"title": "顺路送师姐回宿舍 #校园vlog #大学生", |
||||
|
"author": "特拉风4小时前", |
||||
|
"publishTime": "4小时前", |
||||
|
"duration": "02:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"大学生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7589591636267601179", |
||||
|
"title": "老师踹学生!没想到老师踹飞领导! #剧情 #搞笑 #抽象 #校园 #宿舍", |
||||
|
"author": "阿哲Ai小剧场6天前", |
||||
|
"publishTime": "6天前", |
||||
|
"duration": "01:43", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"剧情", |
||||
|
"搞笑", |
||||
|
"抽象", |
||||
|
"校园", |
||||
|
"宿舍" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590295977148517274", |
||||
|
"title": "大学生重返高中的一日五老哥(偷摸版)#校园 #校园vlog #学姐 #深圳高中", |
||||
|
"author": "00074天前", |
||||
|
"publishTime": "00074天前", |
||||
|
"duration": "07:39", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"校园vlog", |
||||
|
"学姐", |
||||
|
"深圳高中" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7589854885530469235", |
||||
|
"title": "湖北师范大学 | 一座山林中的大学,感谢锦豪同学的参与 。#湖北师范大学 #vlog十亿流量扶持计划 #栗子老师来探校 #校园vlog #考研", |
||||
|
"author": "敷福腐傅", |
||||
|
"publishTime": "6天前", |
||||
|
"duration": "09:34", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"湖北师范大学", |
||||
|
"vlog十亿流量扶持计划", |
||||
|
"栗子老师来探校", |
||||
|
"校园vlog", |
||||
|
"考研" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7410386809915477286", |
||||
|
"title": "“那年风很大,吹走了青春,吹散了很多人!” #青春 #校园回忆 #白月光 #青春的样子 #学生时代", |
||||
|
"author": "呜呼来了1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:06", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"校园回忆", |
||||
|
"白月光", |
||||
|
"青春的样子", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592100859291436718", |
||||
|
"title": "校园“飞腿哥”一脚封神。歹徒持刀闯校行凶,两名保安搏斗中牺牲,大学生张槐乾飞踢扭转乾坤,少年好样的!#正义 #大学生 #危险瞬间#感动瞬间 #手绘 手绘", |
||||
|
"author": "Anna", |
||||
|
"publishTime": "3小时前", |
||||
|
"duration": "00:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"正义", |
||||
|
"大学生", |
||||
|
"危险瞬间", |
||||
|
"感动瞬间", |
||||
|
"手绘" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590654107930890931", |
||||
|
"title": "#高中生活 #校园vlog \n去年的视频终于剪出来了哈哈\n后半段笑点太多了,请慢慢观看🥳#运动会", |
||||
|
"author": "🐑74天前", |
||||
|
"publishTime": "74天前", |
||||
|
"duration": "12:26", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"高中生活", |
||||
|
"校园vlog", |
||||
|
"运动会" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474987222161247548", |
||||
|
"title": "青春是那么的美好!再也回不去了!校园生活#独属于学生时代的魅力#以梦为马不负韶华#上学时代的我们", |
||||
|
"author": "辛万根10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"独属于学生时代的魅力", |
||||
|
"以梦为马不负韶华", |
||||
|
"上学时代的我们" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591810368420276389", |
||||
|
"title": "原来这才是校园中式恐怖#校园#中式恐怖", |
||||
|
"author": "红椒说21小时前", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "00:46", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"中式恐怖" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591879616281791779", |
||||
|
"title": "这个学校太严格了,不让带手机进学校,不料同学们竟想出各种办法!#好剧推荐", |
||||
|
"author": "听风影视17小时前", |
||||
|
"publishTime": "17小时前", |
||||
|
"duration": "01:28", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"好剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7527611124461636890", |
||||
|
"title": "原来有些大学,可以这么幸福… #剧情 #神仙学校 #大学宿舍 #学生时代 #别人的大学", |
||||
|
"author": "Li逍逍5月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:48", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"剧情", |
||||
|
"神仙学校", |
||||
|
"大学宿舍", |
||||
|
"学生时代", |
||||
|
"别人的大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591447482601573667", |
||||
|
"title": "沈阳药科大学,快来参观你的大学校园 #沈阳药科大学 #大学生活 #大学校园", |
||||
|
"author": "小高同学21小时前", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "08:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"沈阳药科大学", |
||||
|
"大学生活", |
||||
|
"大学校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7274575627376708920", |
||||
|
"title": "盘点美好校园的青春回忆录#校园生活 #学生时代让人羡慕的瞬间盘点", |
||||
|
"author": "爆笑上上签2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:43", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"学生时代让人羡慕的瞬间盘点" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591038716576764841", |
||||
|
"title": "当全校都是我亲戚 #校园搞笑", |
||||
|
"author": "阿伟2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "02:07", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园搞笑" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7477799035064159514", |
||||
|
"title": "盘点那些难忘的校园生活和回忆瞬间#校园生活 #美好瞬间", |
||||
|
"author": "言清欢(混剪)10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "22:26", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"美好瞬间" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591818554099587173", |
||||
|
"title": "带你第一视角体验上海普通高中生的一天#校园 #日常 #vlog #权1", |
||||
|
"author": "权121小时前", |
||||
|
"publishTime": "121小时前", |
||||
|
"duration": "03:45", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"日常", |
||||
|
"vlog", |
||||
|
"权1" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591985753053477044", |
||||
|
"title": "#青春校园 #青春本就是马不停蹄的遗憾和错过,遗憾是常有的吧,你有吗!#校园 #学生时代", |
||||
|
"author": "&_白鹭ꫀꪝ10小时前", |
||||
|
"publishTime": "10小时前", |
||||
|
"duration": "01:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春校园", |
||||
|
"校园", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7486851074133937468", |
||||
|
"title": "飞鸟与鱼不同路,从此山水不相逢…#这大概就是青春的样子 #校园 #记录校园时光", |
||||
|
"author": "星雨9月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这大概就是青春的样子", |
||||
|
"校园", |
||||
|
"记录校园时光" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7201470269616049446", |
||||
|
"title": "盘点那些美好的校园时光,校园时代回忆录,至我们终将逝去的青春#这大概就是青春的样子 #学生时代 #校园 #还记得你曾经的同桌吗 #高中生", |
||||
|
"author": "皮皮爆笑社2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:44", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这大概就是青春的样子", |
||||
|
"学生时代", |
||||
|
"校园", |
||||
|
"还记得你曾经的同桌吗", |
||||
|
"高中生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7432077903795473664", |
||||
|
"title": "#学校运动会 #校园比赛 #脆皮大学生运动会名场面", |
||||
|
"author": "有乐(搞笑视频))1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "08:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学校运动会", |
||||
|
"校园比赛", |
||||
|
"脆皮大学生运动会名场面" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7513002081705561401", |
||||
|
"title": "致敬我们的白月光 !青春那么好,再也回不去!#校园那么美好 #以梦为马不负韶华 #我们的白月光 #上学时代的我们 #高考加油@", |
||||
|
"author": "田大富6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园那么美好", |
||||
|
"以梦为马不负韶华", |
||||
|
"我们的白月光", |
||||
|
"上学时代的我们", |
||||
|
"高考加油@" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590626030776760689", |
||||
|
"title": "|广西女大学生在学校搞校运会是一种什么体验呢|我们学校今年校运会超级隆重啊哈哈哈哈 #校运会vlog #大学校园生活 #粉丝见面 #创作灵感 #广西", |
||||
|
"author": "我是香芹3天前", |
||||
|
"publishTime": "3天前", |
||||
|
"duration": "06:52", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校运会vlog", |
||||
|
"大学校园生活", |
||||
|
"粉丝见面", |
||||
|
"创作灵感", |
||||
|
"广西" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7584069514758212879", |
||||
|
"title": "盘点那些美好的校园时光,致我们终将逝去的青春!#校园时光", |
||||
|
"author": "杰派E族3周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "08:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园时光" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591381673690816202", |
||||
|
"title": "原来城院里有这么多可爱的人,解锁叔叔阿姨们的“舞林”高光时刻 #浙大城市学院 #生活记录 #可爱的人 #校园", |
||||
|
"author": "浙大城市学院2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:27", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"浙大城市学院", |
||||
|
"生活记录", |
||||
|
"可爱的人", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591427854777276026", |
||||
|
"title": "当我家离学校只有15米 爽!太爽了 #校园搞笑 #校园生活 #校园vlog", |
||||
|
"author": "赵林1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:38", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园搞笑", |
||||
|
"校园生活", |
||||
|
"校园vlog" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7475104852180258108", |
||||
|
"title": "青春是那么的美好!再也回不去了!校园生活 #独属于学生时代的魅力 #以梦为马不负韶华 #上学时代的我们", |
||||
|
"author": "全球官察10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"独属于学生时代的魅力", |
||||
|
"以梦为马不负韶华", |
||||
|
"上学时代的我们" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591885608470501538", |
||||
|
"title": "#学生时代 #学生时代的回忆 #校园 #学生时代最美好的瞬间 #校园生活", |
||||
|
"author": "红花郎17小时前", |
||||
|
"publishTime": "17小时前", |
||||
|
"duration": "02:04", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"学生时代的回忆", |
||||
|
"校园", |
||||
|
"学生时代最美好的瞬间", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7421860475736050963", |
||||
|
"title": "细数人间的心动,哪个勾起了你的回忆?\n#歌曲晚风定义#学生时代 #校园生活 #甜甜的恋爱 #双向奔赴", |
||||
|
"author": "音悦酒吧1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:29", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"歌曲晚风定义", |
||||
|
"学生时代", |
||||
|
"校园生活", |
||||
|
"甜甜的恋爱", |
||||
|
"双向奔赴" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591514797398797041", |
||||
|
"title": "#新来的班主任 #班风正学风浓 #校园青春", |
||||
|
"author": "꧁༺囍糖༻꧂1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:57", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"新来的班主任", |
||||
|
"班风正学风浓", |
||||
|
"校园青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7294110181347085605", |
||||
|
"title": "盘点校园的美好瞬间,这才是青春的模样吧#校园 #青春 #朋友 #一瞬间", |
||||
|
"author": "魔幻瞬间2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:03", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"青春", |
||||
|
"朋友", |
||||
|
"一瞬间" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474320382267362599", |
||||
|
"title": "#学生时代的高甜瞬间 #学生时代让人羡慕的瞬间盘点 #仿佛看到了上学时的自己", |
||||
|
"author": "鹿与溪10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:18", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的高甜瞬间", |
||||
|
"学生时代让人羡慕的瞬间盘点", |
||||
|
"仿佛看到了上学时的自己" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590773862578677669", |
||||
|
"title": "#忠县中学#徒步 记录高三生活🤪#校园日常 #学校 #中学生", |
||||
|
"author": "脆脆花生米3天前", |
||||
|
"publishTime": "3天前", |
||||
|
"duration": "04:38", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"忠县中学", |
||||
|
"徒步", |
||||
|
"校园日常", |
||||
|
"学校", |
||||
|
"中学生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7582572187032751375", |
||||
|
"title": "初到湖畔的青年.#校园vlog #青春校园 #pu口袋校园 #江苏大学生创意视频大赛", |
||||
|
"author": "还是听我的吧3周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:57", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"青春校园", |
||||
|
"pu口袋校园", |
||||
|
"江苏大学生创意视频大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7508290826393423130", |
||||
|
"title": "日月常新!复旦大学建校120周年宣传片发布\n#大学校园 #每一帧都是热爱 #复旦大学 #复旦大学建校120周年 #宣传片", |
||||
|
"author": "复旦大学7月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "12:00", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"大学校园", |
||||
|
"每一帧都是热爱", |
||||
|
"复旦大学", |
||||
|
"复旦大学建校120周年", |
||||
|
"宣传片" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591882901287271333", |
||||
|
"title": "台湾大学闲逛#台湾旅行vlog #创作者中心 #创作灵感", |
||||
|
"author": "辉总在😎9小时前", |
||||
|
"publishTime": "9小时前", |
||||
|
"duration": "03:51", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"台湾旅行vlog", |
||||
|
"创作者中心", |
||||
|
"创作灵感" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7513451755758390585", |
||||
|
"title": "校园短片《正德的夏天》,回顾三载求学的美好时光,将珍贵瞬间化作影像的时间长河!#毕业", |
||||
|
"author": "正德职业技术学院6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:33", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590981494865615281", |
||||
|
"title": "盘点校园里从不缺的灵魂舞者,这大概就是青春的样子吧#校园里从不缺舞者#操场上从不缺舞者#舞蹈 #跳舞", |
||||
|
"author": "绮梦音乐馆3天前", |
||||
|
"publishTime": "3天前", |
||||
|
"duration": "07:45", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园里从不缺舞者", |
||||
|
"操场上从不缺舞者", |
||||
|
"舞蹈", |
||||
|
"跳舞" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7436689925585538341", |
||||
|
"title": "跟我一起逛逛清华校园吧,废腿的那种!#清华大学 #校园 #水木清华 #大学老师 #citywalk", |
||||
|
"author": "王老师1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:52", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"清华大学", |
||||
|
"校园", |
||||
|
"水木清华", |
||||
|
"大学老师", |
||||
|
"citywalk" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,676 @@ |
|||||
|
{ |
||||
|
"keyword": "校园", |
||||
|
"crawl_time": "2026-01-06 15:35:28", |
||||
|
"total_count": 50, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591167924829184249", |
||||
|
"title": "俩同学听到“一楼集合”,这反应绝了 #班级日常 #校园 #一人分饰多角 素材来源于:", |
||||
|
"author": "老邢-", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "05:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"班级日常", |
||||
|
"校园", |
||||
|
"一人分饰多角" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474292619531619594", |
||||
|
"title": "青春是那么的美好!再也回不去了!校园生活 #独属于学生时代的魅力 #以梦为马不负韶华 #上学时代的我们", |
||||
|
"author": "白开水10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"独属于学生时代的魅力", |
||||
|
"以梦为马不负韶华", |
||||
|
"上学时代的我们" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7425467474835016960", |
||||
|
"title": "大学生宣传片《这是我的大学》来啦,献给即将毕业的自己,献给昭院,献给你所热爱的一切,感谢参与拍摄的朋友们#校园微电影 #我的大学时代 #我的大学#拍出电影感 #我的大学 #昭院短视频创作大赛", |
||||
|
"author": "攒劲1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园微电影", |
||||
|
"我的大学时代", |
||||
|
"我的大学", |
||||
|
"拍出电影感", |
||||
|
"我的大学", |
||||
|
"昭院短视频创作大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7349507301264510217", |
||||
|
"title": "楼梯的拐角见证过我无数次的蓄谋已久! #学生时代 #校园生活 #青春", |
||||
|
"author": "王豪豪1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:02", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"校园生活", |
||||
|
"青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590693183940496682", |
||||
|
"title": "一名老师VS十名学生!校园捉迷藏第二期! #高中生活 #校园捉迷藏 #大疆 #未来导演扶持计划 #自制综艺 #我的校园超丰富", |
||||
|
"author": "ChenLewy", |
||||
|
"publishTime": "3天前", |
||||
|
"duration": "22:25", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"高中生活", |
||||
|
"校园捉迷藏", |
||||
|
"大疆", |
||||
|
"未来导演扶持计划", |
||||
|
"自制综艺", |
||||
|
"我的校园超丰富" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592069690622623398", |
||||
|
"title": "#校园生活 #校园故事", |
||||
|
"author": "南城一正(尊享版)", |
||||
|
"publishTime": "3小时前", |
||||
|
"duration": "13:45", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"校园故事" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591433957267685297", |
||||
|
"title": "这个手机不得不交啊#校园生活 #师生日常 #校园趣事 #师生情", |
||||
|
"author": "小侯老师.", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "01:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"师生日常", |
||||
|
"校园趣事", |
||||
|
"师生情" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591487570769963429", |
||||
|
"title": "#高中#班级日常#校园#剧情#学生时代", |
||||
|
"author": "叮叮喵dxy", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "04:06", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高中", |
||||
|
"班级日常", |
||||
|
"校园", |
||||
|
"剧情", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7547407626620079395", |
||||
|
"title": "“带大家逛校园——清华大学!来看看你未来的学校!除了震惊还是震惊!” #逛校园 #清华大学", |
||||
|
"author": "王一凡3月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:37", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"逛校园", |
||||
|
"清华大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591141065966817462", |
||||
|
"title": "当班上来了个很“猛”的同学#校园#下饭神剧 #蚊小九#超能演剧情大赛", |
||||
|
"author": "蚊小九", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "04:53", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"下饭神剧", |
||||
|
"蚊小九", |
||||
|
"超能演剧情大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7588885205835026673", |
||||
|
"title": "“校园的美好时光,致那些双向奔赴的暗恋”#高甜来袭 #青春校园@", |
||||
|
"author": "唯有伊人1周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高甜来袭", |
||||
|
"青春校园@" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7577253876009618703", |
||||
|
"title": "🍃📹解锁校园新风尚!《这样的你》宣传片重磅发布——以学风正校风,以文明育新人,一起为美好校园打call~#河南师范大学#学风建设#文明校园", |
||||
|
"author": "河南师范大学软件学院1月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:31", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"河南师范大学", |
||||
|
"学风建设", |
||||
|
"文明校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591886595192644773", |
||||
|
"title": "学霸校花一眼认出面前不学无术的校霸 十年后会成为京州首富~#校园 #爱情", |
||||
|
"author": "一颗油菜", |
||||
|
"publishTime": "16小时前", |
||||
|
"duration": "01:21", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"爱情" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7108305945683430668", |
||||
|
"title": "年西安交通大学宣传片 完美毕业生 #校园 #大学 #青春 #青春的样子 交大欢迎你! #青春不散场", |
||||
|
"author": "西安交通大学3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "10:10", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"大学", |
||||
|
"青春", |
||||
|
"青春的样子", |
||||
|
"青春不散场" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591520961212501300", |
||||
|
"title": "顺路送师姐回宿舍 #校园vlog #大学生", |
||||
|
"author": "特拉风", |
||||
|
"publishTime": "4小时前", |
||||
|
"duration": "02:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"大学生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7589591636267601179", |
||||
|
"title": "老师踹学生!没想到老师踹飞领导! #剧情 #搞笑 #抽象 #校园 #宿舍", |
||||
|
"author": "阿哲Ai小剧场", |
||||
|
"publishTime": "6天前", |
||||
|
"duration": "01:43", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"剧情", |
||||
|
"搞笑", |
||||
|
"抽象", |
||||
|
"校园", |
||||
|
"宿舍" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590295977148517274", |
||||
|
"title": "大学生重返高中的一日五老哥(偷摸版)#校园 #校园vlog #学姐 #深圳高中", |
||||
|
"author": "", |
||||
|
"publishTime": "00074天前", |
||||
|
"duration": "07:39", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"校园vlog", |
||||
|
"学姐", |
||||
|
"深圳高中" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7278897341350874427", |
||||
|
"title": "“青春是那么美好,唯一的缺点就是消失的太快”#青春 #校园", |
||||
|
"author": "抖音小助手", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:19", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7589854885530469235", |
||||
|
"title": "湖北师范大学 | 一座山林中的大学,感谢锦豪同学的参与 。#湖北师范大学 #vlog十亿流量扶持计划 #栗子老师来探校 #校园vlog #考研", |
||||
|
"author": "敷福腐傅", |
||||
|
"publishTime": "6天前", |
||||
|
"duration": "09:34", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"湖北师范大学", |
||||
|
"vlog十亿流量扶持计划", |
||||
|
"栗子老师来探校", |
||||
|
"校园vlog", |
||||
|
"考研" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7410386809915477286", |
||||
|
"title": "“那年风很大,吹走了青春,吹散了很多人!” #青春 #校园回忆 #白月光 #青春的样子 #学生时代", |
||||
|
"author": "呜呼来了1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:06", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"校园回忆", |
||||
|
"白月光", |
||||
|
"青春的样子", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590654107930890931", |
||||
|
"title": "#高中生活 #校园vlog \n去年的视频终于剪出来了哈哈\n后半段笑点太多了,请慢慢观看🥳#运动会", |
||||
|
"author": "🐑", |
||||
|
"publishTime": "74天前", |
||||
|
"duration": "12:26", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"高中生活", |
||||
|
"校园vlog", |
||||
|
"运动会" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474987222161247548", |
||||
|
"title": "青春是那么的美好!再也回不去了!校园生活#独属于学生时代的魅力#以梦为马不负韶华#上学时代的我们", |
||||
|
"author": "辛万根10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"独属于学生时代的魅力", |
||||
|
"以梦为马不负韶华", |
||||
|
"上学时代的我们" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519366264608902451", |
||||
|
"title": "#校园vlog 花有重开日,人无再少年。#校园 #学生时代 #期末倒计时", |
||||
|
"author": "随心-拍摄📷6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"校园", |
||||
|
"学生时代", |
||||
|
"期末倒计时" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591810368420276389", |
||||
|
"title": "原来这才是校园中式恐怖#校园#中式恐怖", |
||||
|
"author": "红椒说", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "00:46", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"中式恐怖" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591879616281791779", |
||||
|
"title": "这个学校太严格了,不让带手机进学校,不料同学们竟想出各种办法!#好剧推荐", |
||||
|
"author": "听风影视", |
||||
|
"publishTime": "17小时前", |
||||
|
"duration": "01:28", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"好剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591447482601573667", |
||||
|
"title": "沈阳药科大学,快来参观你的大学校园 #沈阳药科大学 #大学生活 #大学校园", |
||||
|
"author": "小高同学", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "08:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"沈阳药科大学", |
||||
|
"大学生活", |
||||
|
"大学校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592100859291436718", |
||||
|
"title": "校园“飞腿哥”一脚封神。歹徒持刀闯校行凶,两名保安搏斗中牺牲,大学生张槐乾飞踢扭转乾坤,少年好样的!#正义 #大学生 #危险瞬间#感动瞬间 #手绘 手绘小时前", |
||||
|
"author": "Anna", |
||||
|
"publishTime": "3小时前", |
||||
|
"duration": "00:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"正义", |
||||
|
"大学生", |
||||
|
"危险瞬间", |
||||
|
"感动瞬间", |
||||
|
"手绘" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7274575627376708920", |
||||
|
"title": "盘点美好校园的青春回忆录#校园生活 #学生时代让人羡慕的瞬间盘点", |
||||
|
"author": "爆笑上上签2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:43", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"学生时代让人羡慕的瞬间盘点" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591818554099587173", |
||||
|
"title": "带你第一视角体验上海普通高中生的一天#校园 #日常 #vlog #权", |
||||
|
"author": "权", |
||||
|
"publishTime": "121小时前", |
||||
|
"duration": "03:45", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"日常", |
||||
|
"vlog", |
||||
|
"权" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591985753053477044", |
||||
|
"title": "#青春校园 #青春本就是马不停蹄的遗憾和错过,遗憾是常有的吧,你有吗!#校园 #学生时代", |
||||
|
"author": "&_白鹭ꫀꪝ", |
||||
|
"publishTime": "10小时前", |
||||
|
"duration": "01:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春校园", |
||||
|
"校园", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519224714020130075", |
||||
|
"title": "当我用vlog的形式介绍我的大学! 制作:塔里木大学学生会宣传部\n拍摄:范琳睿 贺子怡\n剪辑:贺子怡\n#校园生活 #校园vlog #我为我的学校打call #塔里木大学", |
||||
|
"author": "青春塔大(塔里木大学团委)6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"校园vlog", |
||||
|
"我为我的学校打call", |
||||
|
"塔里木大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591038716576764841", |
||||
|
"title": "当全校都是我亲戚 #校园搞笑", |
||||
|
"author": "阿伟", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "02:07", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园搞笑" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7513002081705561401", |
||||
|
"title": "致敬我们的白月光 !青春那么好,再也回不去!#校园那么美好 #以梦为马不负韶华 #我们的白月光 #上学时代的我们 #高考加油@", |
||||
|
"author": "田大富6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园那么美好", |
||||
|
"以梦为马不负韶华", |
||||
|
"我们的白月光", |
||||
|
"上学时代的我们", |
||||
|
"高考加油@" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591381673690816202", |
||||
|
"title": "原来城院里有这么多可爱的人,解锁叔叔阿姨们的“舞林”高光时刻 #浙大城市学院 #生活记录 #可爱的人 #校园", |
||||
|
"author": "浙大城市学院", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:27", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"浙大城市学院", |
||||
|
"生活记录", |
||||
|
"可爱的人", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590626030776760689", |
||||
|
"title": "|广西女大学生在学校搞校运会是一种什么体验呢|我们学校今年校运会超级隆重啊哈哈哈哈 #校运会vlog #大学校园生活 #粉丝见面 #创作灵感 #广西", |
||||
|
"author": "我是香芹", |
||||
|
"publishTime": "3天前", |
||||
|
"duration": "06:52", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校运会vlog", |
||||
|
"大学校园生活", |
||||
|
"粉丝见面", |
||||
|
"创作灵感", |
||||
|
"广西" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591427854777276026", |
||||
|
"title": "当我家离学校只有米 爽!太爽了 #校园搞笑 #校园生活 #校园vlog", |
||||
|
"author": "赵林", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:38", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园搞笑", |
||||
|
"校园生活", |
||||
|
"校园vlog" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7584069514758212879", |
||||
|
"title": "盘点那些美好的校园时光,致我们终将逝去的青春!#校园时光", |
||||
|
"author": "杰派E族3周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "08:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园时光" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591885608470501538", |
||||
|
"title": "#学生时代 #学生时代的回忆 #校园 #学生时代最美好的瞬间 #校园生活", |
||||
|
"author": "红花郎", |
||||
|
"publishTime": "17小时前", |
||||
|
"duration": "02:04", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"学生时代的回忆", |
||||
|
"校园", |
||||
|
"学生时代最美好的瞬间", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591514797398797041", |
||||
|
"title": "#新来的班主任 #班风正学风浓 #校园青春", |
||||
|
"author": "꧁༺囍糖༻꧂", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:57", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"新来的班主任", |
||||
|
"班风正学风浓", |
||||
|
"校园青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7535761476049636668", |
||||
|
"title": "校园美好瞬间大盘点,每一刻都是珍贵的回忆,你的青春有没有在里面?#青春 #记录校园美好生活 #青春的样子", |
||||
|
"author": "校园君4月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:04", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"记录校园美好生活", |
||||
|
"青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7212207116562599223", |
||||
|
"title": "盘点那些美好的校园时光,致我们终将逝去的青春#校园 #这大概就是青春的样子 #学生时代", |
||||
|
"author": "爆笑菌呀2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"这大概就是青春的样子", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7294110181347085605", |
||||
|
"title": "盘点校园的美好瞬间,这才是青春的模样吧#校园 #青春 #朋友 #一瞬间", |
||||
|
"author": "魔幻瞬间2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:03", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"青春", |
||||
|
"朋友", |
||||
|
"一瞬间" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474320382267362599", |
||||
|
"title": "#学生时代的高甜瞬间 #学生时代让人羡慕的瞬间盘点 #仿佛看到了上学时的自己", |
||||
|
"author": "鹿与溪10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:18", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的高甜瞬间", |
||||
|
"学生时代让人羡慕的瞬间盘点", |
||||
|
"仿佛看到了上学时的自己" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590773862578677669", |
||||
|
"title": "#忠县中学#徒步 记录高三生活🤪#校园日常 #学校 #中学生", |
||||
|
"author": "脆脆花生米", |
||||
|
"publishTime": "3天前", |
||||
|
"duration": "04:38", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"忠县中学", |
||||
|
"徒步", |
||||
|
"校园日常", |
||||
|
"学校", |
||||
|
"中学生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7355811401056800051", |
||||
|
"title": "今天的操场连风都是甜的~#校园#双向奔赴#学生时代的高甜瞬间", |
||||
|
"author": "姜瑞秋rachel1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:51", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"双向奔赴", |
||||
|
"学生时代的高甜瞬间" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7582572187032751375", |
||||
|
"title": "初到湖畔的青年.#校园vlog #青春校园 #pu口袋校园 #江苏大学生创意视频大赛", |
||||
|
"author": "还是听我的吧3周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:57", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"青春校园", |
||||
|
"pu口袋校园", |
||||
|
"江苏大学生创意视频大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591414950267940294", |
||||
|
"title": "当学校来了一个陌生人 #校园搞笑", |
||||
|
"author": "阿伟", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "01:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园搞笑" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591882901287271333", |
||||
|
"title": "台湾大学闲逛#台湾旅行vlog #创作者中心 #创作灵感", |
||||
|
"author": "辉总在😎", |
||||
|
"publishTime": "9小时前", |
||||
|
"duration": "03:51", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"台湾旅行vlog", |
||||
|
"创作者中心", |
||||
|
"创作灵感" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7508290826393423130", |
||||
|
"title": "日月常新!复旦大学建校周年宣传片发布\n#大学校园 #每一帧都是热爱 #复旦大学 #复旦大学建校周年 #宣传片", |
||||
|
"author": "复旦大学7月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "12:00", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"大学校园", |
||||
|
"每一帧都是热爱", |
||||
|
"复旦大学", |
||||
|
"复旦大学建校周年", |
||||
|
"宣传片" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7513451755758390585", |
||||
|
"title": "校园短片《正德的夏天》,回顾三载求学的美好时光,将珍贵瞬间化作影像的时间长河!#毕业", |
||||
|
"author": "正德职业技术学院6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:33", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,406 @@ |
|||||
|
{ |
||||
|
"keyword": "校园", |
||||
|
"crawl_time": "2026-01-06 17:28:59", |
||||
|
"total_count": 30, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591167924829184249", |
||||
|
"title": "俩同学听到“一楼集合”,这反应绝了 #班级日常 #校园 #一人分饰多角 素材来源于:", |
||||
|
"author": "老邢-", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "05:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"班级日常", |
||||
|
"校园", |
||||
|
"一人分饰多角" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7438217050587286843", |
||||
|
"title": "那些年,我们的青春 #学生时代的回忆 #高中时代 #校园生活", |
||||
|
"author": "你的老朋友1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的回忆", |
||||
|
"高中时代", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7325382618403392803", |
||||
|
"title": "“青春本就是马不停蹄的相遇和错过,遗憾是常有的吧!”#青春 #校园回忆 #白月光 #遗憾是常有的吧 #青春的样子", |
||||
|
"author": "呜呼来了1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"校园回忆", |
||||
|
"白月光", |
||||
|
"遗憾是常有的吧", |
||||
|
"青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474992520179535140", |
||||
|
"title": "#学生时代的高甜瞬间 #独属于学生时代的魅力 #那些属于学生时代的小确幸 #上学时代的我们 #很火的校园剧推荐", |
||||
|
"author": "最美声音10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的高甜瞬间", |
||||
|
"独属于学生时代的魅力", |
||||
|
"那些属于学生时代的小确幸", |
||||
|
"上学时代的我们", |
||||
|
"很火的校园剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474292619531619594", |
||||
|
"title": "青春是那么的美好!再也回不去了!校园生活 #独属于学生时代的魅力 #以梦为马不负韶华 #上学时代的我们", |
||||
|
"author": "白开水10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"独属于学生时代的魅力", |
||||
|
"以梦为马不负韶华", |
||||
|
"上学时代的我们" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474711453858106683", |
||||
|
"title": "“我的青春回头看了我一眼,像是在跟我告别”#毕业季", |
||||
|
"author": "山晚10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:19", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7108352570573262116", |
||||
|
"title": "这个夏天结束的不止是高考还有青春! #青春的样子 #高中生活 #校园生活", |
||||
|
"author": "八点笑话3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春的样子", |
||||
|
"高中生活", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7329853100196367667", |
||||
|
"title": "校园美好的瞬间“谁又是你的青春呢?”#双向暗恋 #学生时代最美好的瞬间 #青春校园 #青春 #青春的样子", |
||||
|
"author": "盘点舍1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"双向暗恋", |
||||
|
"学生时代最美好的瞬间", |
||||
|
"青春校园", |
||||
|
"青春", |
||||
|
"青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7497531256093281574", |
||||
|
"title": "#歌曲不同的季节 青春是那么的美好,再也回不去了!#校园 #上学时代的我们 #校园故事", |
||||
|
"author": "爆笑制片厂8月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:18", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"歌曲不同的季节", |
||||
|
"校园", |
||||
|
"上学时代的我们", |
||||
|
"校园故事" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7588885205835026673", |
||||
|
"title": "“校园的美好时光,致那些双向奔赴的暗恋”#高甜来袭 #青春校园@", |
||||
|
"author": "唯有伊人1周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高甜来袭", |
||||
|
"青春校园@" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7108305945683430668", |
||||
|
"title": "年西安交通大学宣传片 完美毕业生 #校园 #大学 #青春 #青春的样子 交大欢迎你! #青春不散场", |
||||
|
"author": "西安交通大学3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "10:10", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"大学", |
||||
|
"青春", |
||||
|
"青春的样子", |
||||
|
"青春不散场" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7240383098544852236", |
||||
|
"title": "请全班吃冰激凌的男孩子太帅了!!!#校园vlog #记录校园生活 #班主任视角 #教师日常 #九零老师", |
||||
|
"author": "九零老师2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:26", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"记录校园生活", |
||||
|
"班主任视角", |
||||
|
"教师日常", |
||||
|
"九零老师" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7475003010825932069", |
||||
|
"title": "校园时灌风的校服,裹着整个青春里最大的爱意#学生时代 #校园生活 #因为一个片段看了整部剧", |
||||
|
"author": "花生了什么树🎄10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "11:14", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"校园生活", |
||||
|
"因为一个片段看了整部剧" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7518376032345378067", |
||||
|
"title": "“他永远不会老去,他永远一身校服干净的站在你的回忆里” #青春校园 #学生时代 #正能量 #白月光", |
||||
|
"author": "邢哇塞", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春校园", |
||||
|
"学生时代", |
||||
|
"正能量", |
||||
|
"白月光" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7237478431955422499", |
||||
|
"title": "清华大学校园有多漂亮 #学生党 #校园 #清华 #清华大学 #学霸", |
||||
|
"author": "混血修勾", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:48", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生党", |
||||
|
"校园", |
||||
|
"清华", |
||||
|
"清华大学", |
||||
|
"学霸" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591879616281791779", |
||||
|
"title": "这个学校太严格了,不让带手机进学校,不料同学们竟想出各种办法!#好剧推荐", |
||||
|
"author": "听风影视", |
||||
|
"publishTime": "19小时前", |
||||
|
"duration": "01:28", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"好剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7289778348463492392", |
||||
|
"title": "几个镜头教会你,情绪小短片,那年夏天青春已经不在了#教你如何拍出情绪小短片#大学校园 #大学", |
||||
|
"author": "甜甜手机摄影2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"教你如何拍出情绪小短片", |
||||
|
"大学校园", |
||||
|
"大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7278897341350874427", |
||||
|
"title": "“青春是那么美好,唯一的缺点就是消失的太快”#青春 #校园", |
||||
|
"author": "抖音小助手", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:19", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7052987201973488899", |
||||
|
"title": "盘点那些美好的校园时光,年少不知同桌美,长大之后方知悔 #记录校园生活 #学生时代 #上课日常", |
||||
|
"author": "爆笑菌呀3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:10", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"记录校园生活", |
||||
|
"学生时代", |
||||
|
"上课日常" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591810368420276389", |
||||
|
"title": "原来这才是校园中式恐怖#校园#中式恐怖", |
||||
|
"author": "红椒说", |
||||
|
"publishTime": "23小时前", |
||||
|
"duration": "00:46", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"中式恐怖" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592173706399836901", |
||||
|
"title": "单位是啥 #师生日常 #校园生活 #记录真实生活", |
||||
|
"author": "赵一百", |
||||
|
"publishTime": "16分钟前", |
||||
|
"duration": "01:28", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"师生日常", |
||||
|
"校园生活", |
||||
|
"记录真实生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519224714020130075", |
||||
|
"title": "当我用vlog的形式介绍我的大学! 制作:塔里木大学学生会宣传部\n拍摄:范琳睿 贺子怡\n剪辑:贺子怡\n#校园生活 #校园vlog #我为我的学校打call #塔里木大学", |
||||
|
"author": "青春塔大(塔里木大学团委)6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"校园vlog", |
||||
|
"我为我的学校打call", |
||||
|
"塔里木大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591985753053477044", |
||||
|
"title": "#青春校园 #青春本就是马不停蹄的遗憾和错过,遗憾是常有的吧,你有吗!#校园 #学生时代", |
||||
|
"author": "&_白鹭ꫀꪝ", |
||||
|
"publishTime": "12小时前", |
||||
|
"duration": "01:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春校园", |
||||
|
"校园", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519366264608902451", |
||||
|
"title": "#校园vlog 花有重开日,人无再少年。#校园 #学生时代 #期末倒计时", |
||||
|
"author": "随心-拍摄📷6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"校园", |
||||
|
"学生时代", |
||||
|
"期末倒计时" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591343424691883315", |
||||
|
"title": "救命厌蠢症犯了!遇到这样令人抓狂的室友怎么办!#女生宿舍 #校园#内容过于真实", |
||||
|
"author": "小宇蜜探", |
||||
|
"publishTime": "28分钟前", |
||||
|
"duration": "03:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"女生宿舍", |
||||
|
"校园", |
||||
|
"内容过于真实" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7496447444008930618", |
||||
|
"title": "以前以为每个大学都像电视剧的一样 #学生时代 #剧情", |
||||
|
"author": "郑丽芬er8月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:55", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"剧情" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7477799035064159514", |
||||
|
"title": "盘点那些难忘的校园生活和回忆瞬间#校园生活 #美好瞬间", |
||||
|
"author": "言清欢(混剪)10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "22:26", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"校园生活", |
||||
|
"美好瞬间" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7584069514758212879", |
||||
|
"title": "盘点那些美好的校园时光,致我们终将逝去的青春!#校园时光", |
||||
|
"author": "杰派E族3周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "08:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园时光" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591860162945407906", |
||||
|
"title": "#校园随拍 #校园 #volg日常 #走读生 #职高@", |
||||
|
"author": "狗乐🐶", |
||||
|
"publishTime": "20小时前", |
||||
|
"duration": "03:03", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园随拍", |
||||
|
"校园", |
||||
|
"volg日常", |
||||
|
"走读生", |
||||
|
"职高@" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590626030776760689", |
||||
|
"title": "|广西女大学生在学校搞校运会是一种什么体验呢|我们学校今年校运会超级隆重啊哈哈哈哈 #校运会vlog #大学校园生活 #粉丝见面 #创作灵感 #广西", |
||||
|
"author": "我是香芹", |
||||
|
"publishTime": "4天前", |
||||
|
"duration": "06:52", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校运会vlog", |
||||
|
"大学校园生活", |
||||
|
"粉丝见面", |
||||
|
"创作灵感", |
||||
|
"广西" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,550 @@ |
|||||
|
{ |
||||
|
"keyword": "校园", |
||||
|
"crawl_time": "2026-01-07 14:51:40", |
||||
|
"total_count": 40, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7434813931249569075", |
||||
|
"title": "“欲买桂花同载酒,终不似,少年游” #学生时代 #暗恋 #校园生活 #名场面 #学生时代让人羡慕的瞬间盘点", |
||||
|
"author": "余川1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:04", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"暗恋", |
||||
|
"校园生活", |
||||
|
"名场面", |
||||
|
"学生时代让人羡慕的瞬间盘点" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592369582389471609", |
||||
|
"title": "#有趣的校园生活 #创作者中心 #创作灵感 #搞笑视频 #大学宿舍 素材来源", |
||||
|
"author": "周小闹", |
||||
|
"publishTime": "8小时前", |
||||
|
"duration": "02:38", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"有趣的校园生活", |
||||
|
"创作者中心", |
||||
|
"创作灵感", |
||||
|
"搞笑视频", |
||||
|
"大学宿舍" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592458737177120010", |
||||
|
"title": "求一个入学教程 人民的高中我是真的不(hao)羡慕 #高中 #校园 #校园生活", |
||||
|
"author": "呼叫小橙", |
||||
|
"publishTime": "3小时前", |
||||
|
"duration": "01:31", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高中", |
||||
|
"校园", |
||||
|
"校园生活" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474992520179535140", |
||||
|
"title": "#学生时代的高甜瞬间 #独属于学生时代的魅力 #那些属于学生时代的小确幸 #上学时代的我们 #很火的校园剧推荐", |
||||
|
"author": "最美声音10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代的高甜瞬间", |
||||
|
"独属于学生时代的魅力", |
||||
|
"那些属于学生时代的小确幸", |
||||
|
"上学时代的我们", |
||||
|
"很火的校园剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7474711453858106683", |
||||
|
"title": "“我的青春回头看了我一眼,像是在跟我告别”#毕业季", |
||||
|
"author": "山晚10月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:19", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7351295662580862249", |
||||
|
"title": "“当时只道是寻常” #青春 #校园", |
||||
|
"author": "祁书推荐官1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7162858632177126659", |
||||
|
"title": "正片《窥•我看到你了》来袭 由五位女大学生诚信制作\n剧情:总有人站在暗处窥视 而我们应该勇敢站出来\n#微电影 #大学 #校园 #情绪短片 #剧情", |
||||
|
"author": "反派可爱多🍦3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"微电影", |
||||
|
"大学", |
||||
|
"校园", |
||||
|
"情绪短片", |
||||
|
"剧情" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7038219586495384844", |
||||
|
"title": "#拒绝校园暴力 #大学生创意短视频", |
||||
|
"author": "木4年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:51", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"拒绝校园暴力", |
||||
|
"大学生创意短视频" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519447709472804111", |
||||
|
"title": "反校园欺凌公益宣传微电影《看见》——“关注隐秘角落 制止校园欺凌”共建和谐校园。#反校园欺凌 #公益 #微电影 #和谐校园 #珠海", |
||||
|
"author": "观海视频6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"反校园欺凌", |
||||
|
"公益", |
||||
|
"微电影", |
||||
|
"和谐校园", |
||||
|
"珠海" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7430027287405333786", |
||||
|
"title": "“春风若有怜花意,可否许我再少年!” #爱情 #暗恋 #青春 #校园回忆 #遗憾是常有的吧", |
||||
|
"author": "呜呼来了1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:19", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"爱情", |
||||
|
"暗恋", |
||||
|
"青春", |
||||
|
"校园回忆", |
||||
|
"遗憾是常有的吧" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591985753053477044", |
||||
|
"title": "#青春校园 #青春本就是马不停蹄的遗憾和错过,遗憾是常有的吧,你有吗!#校园 #学生时代", |
||||
|
"author": "&_白鹭ꫀꪝ", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "01:17", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春校园", |
||||
|
"校园", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592217803307829883", |
||||
|
"title": "这是我国最离谱的大学,别人的校园边界是围墙,它的校园边界居然是大海,整个校园直接贴着海岸线建,下课铃一响就能直奔海边甩鱼竿,话说你羡慕这种上课看海、下课钓鱼的神仙大学生活吗?#地理 #汕头 #汕头大学 #汕头大学东海岸校区 #汕头大学", |
||||
|
"author": "地图探长", |
||||
|
"publishTime": "18小时前", |
||||
|
"duration": "00:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"地理", |
||||
|
"汕头", |
||||
|
"汕头大学", |
||||
|
"汕头大学东海岸校区", |
||||
|
"汕头大学" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7487955606389722406", |
||||
|
"title": "看完喔!学生们这波兄弟相助的操作……#学校#内容过于真实#陈小春重庆啤酒江湖入局#热辣开干就喝重庆", |
||||
|
"author": "重庆啤酒", |
||||
|
"publishTime": "", |
||||
|
"duration": "03:32", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学校", |
||||
|
"内容过于真实", |
||||
|
"陈小春重庆啤酒江湖入局", |
||||
|
"热辣开干就喝重庆" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7588885205835026673", |
||||
|
"title": "“校园的美好时光,致那些双向奔赴的暗恋”#高甜来袭 #青春校园@", |
||||
|
"author": "唯有伊人1周前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:47", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高甜来袭", |
||||
|
"青春校园@" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7329853100196367667", |
||||
|
"title": "校园美好的瞬间“谁又是你的青春呢?”#双向暗恋 #学生时代最美好的瞬间 #青春校园 #青春 #青春的样子", |
||||
|
"author": "盘点舍1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"双向暗恋", |
||||
|
"学生时代最美好的瞬间", |
||||
|
"青春校园", |
||||
|
"青春", |
||||
|
"青春的样子" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7086787110727847182", |
||||
|
"title": "学校的走廊不是很长,却装满了我的整个青春#校园 #剧情 #青春万岁", |
||||
|
"author": "大哲同学3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:05", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"剧情", |
||||
|
"青春万岁" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7349507301264510217", |
||||
|
"title": "楼梯的拐角见证过我无数次的蓄谋已久! #学生时代 #校园生活 #青春", |
||||
|
"author": "王豪豪1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:02", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"学生时代", |
||||
|
"校园生活", |
||||
|
"青春" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7043345898214018337", |
||||
|
"title": "收藏好校园分镜头脚本,你也来拍青春校园吧。#青春校园 #脚本 #校园生活 #拍摄教程 #拍出电影感", |
||||
|
"author": "小白纪晴(1月面授课报名中)4年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:49", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"青春校园", |
||||
|
"脚本", |
||||
|
"校园生活", |
||||
|
"拍摄教程", |
||||
|
"拍出电影感" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592186031785785179", |
||||
|
"title": "校园惊现偷拍狂,罪魁祸首意想不到#为了一个片段追了整部剧 #好剧推荐 #热剧推荐 #一起追剧", |
||||
|
"author": "痞痞影视", |
||||
|
"publishTime": "20小时前", |
||||
|
"duration": "05:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"为了一个片段追了整部剧", |
||||
|
"好剧推荐", |
||||
|
"热剧推荐", |
||||
|
"一起追剧" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7497083984670674195", |
||||
|
"title": "从亲密无间,到穷途末路!#校园 #青春 #遗憾 #学生 #纯真", |
||||
|
"author": "一树一菩提8月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"青春", |
||||
|
"遗憾", |
||||
|
"学生", |
||||
|
"纯真" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7420728856388111626", |
||||
|
"title": "校园里的人情世故 #一人分饰多角 #搞笑 #意想不到的结局", |
||||
|
"author": "张开.1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:59", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"一人分饰多角", |
||||
|
"搞笑", |
||||
|
"意想不到的结局" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592100859291436718", |
||||
|
"title": "校园“飞腿哥”一脚封神。歹徒持刀闯校行凶,两名保安搏斗中牺牲,大学生张槐乾飞踢扭转乾坤,少年好样的!#正义 #大学生 #危险瞬间#感动瞬间 #手绘 手绘天前", |
||||
|
"author": "Anna", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "00:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"正义", |
||||
|
"大学生", |
||||
|
"危险瞬间", |
||||
|
"感动瞬间", |
||||
|
"手绘" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7583148209405660475", |
||||
|
"title": "剧情虚构,仅供娱乐#好好生活#微电影 #大学生#贵州工商职业学院#校园", |
||||
|
"author": "贵州工商职业学院工程学院", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"好好生活", |
||||
|
"微电影", |
||||
|
"大学生", |
||||
|
"贵州工商职业学院", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7391790021927259431", |
||||
|
"title": "传说有这样一个学校,抵制内卷...#反内卷 #宿舍 #校园", |
||||
|
"author": "徐晚晚1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:29", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"反内卷", |
||||
|
"宿舍", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519366264608902451", |
||||
|
"title": "#校园vlog 花有重开日,人无再少年。#校园 #学生时代 #期末倒计时", |
||||
|
"author": "随心-拍摄📷6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园vlog", |
||||
|
"校园", |
||||
|
"学生时代", |
||||
|
"期末倒计时" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592182994266328335", |
||||
|
"title": "一座搬迁多年后的校园 #梦核", |
||||
|
"author": "Jacob废墟南瓜", |
||||
|
"publishTime": "19小时前", |
||||
|
"duration": "00:37", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"梦核" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7528333977989926190", |
||||
|
"title": "还真有入室抢劫的爱情啊!? #三金七七 #校园 #剧情#原神喊你脉动回来#脉动电解质", |
||||
|
"author": "三金七七5月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:04", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"三金七七", |
||||
|
"校园", |
||||
|
"剧情", |
||||
|
"原神喊你脉动回来", |
||||
|
"脉动电解质" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7404355587133246757", |
||||
|
"title": "#非酋小西瓜一枚#重回年抖音 青春是短暂而含蓄的一镜到底,你还记得青春的模样吗?#如果天突然下起了雨我不会避躲 #青春的样子#校园", |
||||
|
"author": "喵斯卡ye1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:36", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"非酋小西瓜一枚", |
||||
|
"重回年抖音", |
||||
|
"如果天突然下起了雨我不会避躲", |
||||
|
"青春的样子", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591447482601573667", |
||||
|
"title": "沈阳药科大学,快来参观你的大学校园 #沈阳药科大学 #大学生活 #大学校园", |
||||
|
"author": "小高同学", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "08:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"沈阳药科大学", |
||||
|
"大学生活", |
||||
|
"大学校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7445231910302862651", |
||||
|
"title": "据真实惨烈事件改编,拒绝校园霸凌!#超燃混剪 #电影推荐", |
||||
|
"author": "伐木影视1年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:39", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"超燃混剪", |
||||
|
"电影推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7306554971661569290", |
||||
|
"title": "《校园贷防线:警惕借贷漩涡》#校园微电影", |
||||
|
"author": "山海M2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "06:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园微电影" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7550646042765610275", |
||||
|
"title": "我就开了个学,谁把我极限模式打开了?! #内容过于真实 #开学的精选 #开学超能迎新会 #超能演剧情大赛", |
||||
|
"author": "牛马日记3月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:50", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"内容过于真实", |
||||
|
"开学的精选", |
||||
|
"开学超能迎新会", |
||||
|
"超能演剧情大赛" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7486851074133937468", |
||||
|
"title": "飞鸟与鱼不同路,从此山水不相逢…#这大概就是青春的样子 #校园 #记录校园时光", |
||||
|
"author": "星雨9月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"这大概就是青春的样子", |
||||
|
"校园", |
||||
|
"记录校园时光" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591879616281791779", |
||||
|
"title": "这个学校太严格了,不让带手机进学校,不料同学们竟想出各种办法!#好剧推荐", |
||||
|
"author": "听风影视", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "01:28", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"好剧推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7493318237787147577", |
||||
|
"title": "成体校园安全情景剧🤜🤛#成都体育学院 #校园安全", |
||||
|
"author": "成体团学小抖8月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "02:27", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"成都体育学院", |
||||
|
"校园安全" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7154597095318555941", |
||||
|
"title": "我们拉个勾,一定要考上同一所大学!#闺蜜 #氛围感 #校园", |
||||
|
"author": "香菜地瓜3年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:37", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"闺蜜", |
||||
|
"氛围感", |
||||
|
"校园" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7519450313707769123", |
||||
|
"title": "花有重开日,人无再少年。#毕业季 #青春记录 #校园青春 #学生时代", |
||||
|
"author": "博博6月前", |
||||
|
"publishTime": "", |
||||
|
"duration": "04:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"毕业季", |
||||
|
"青春记录", |
||||
|
"校园青春", |
||||
|
"学生时代" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7233962922785918243", |
||||
|
"title": "座位是拿来坐不是拿来占的#校园 #剧情 #大学生", |
||||
|
"author": "大耳朵美力2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "01:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园", |
||||
|
"剧情", |
||||
|
"大学生" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7261952853579779384", |
||||
|
"title": "盘点青春暗恋美好瞬间,少年罐风的校服,裹着我青春里甚大的秘密#校园回忆 #双向奔赴 #学生时代的爱情 #青春的样子 #暗恋", |
||||
|
"author": "迷惑菌呀2年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "05:12", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"校园回忆", |
||||
|
"双向奔赴", |
||||
|
"学生时代的爱情", |
||||
|
"青春的样子", |
||||
|
"暗恋" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7032246050731609381", |
||||
|
"title": "高校新生篮球联赛现场,上演绝杀与反绝杀。你来我往,这就是篮球的魅力!#篮球 #绝杀 #高校 #大学生", |
||||
|
"author": "中国青年报4年前", |
||||
|
"publishTime": "", |
||||
|
"duration": "00:20", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"篮球", |
||||
|
"绝杀", |
||||
|
"高校", |
||||
|
"大学生" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,682 @@ |
|||||
|
{ |
||||
|
"keyword": "游戏", |
||||
|
"crawl_time": "2026-01-06 15:23:40", |
||||
|
"total_count": 49, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590189696945245475", |
||||
|
"title": "#steam游戏 #恐怖游戏 #游戏解说 #mc不灭", |
||||
|
"author": "圈圈的游戏22小时前", |
||||
|
"publishTime": "22小时前", |
||||
|
"duration": "29:56", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"恐怖游戏", |
||||
|
"游戏解说", |
||||
|
"mc不灭" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591797764325952802", |
||||
|
"title": "#游戏 #游戏日常 #游戏精彩时刻 #游戏解说", |
||||
|
"author": "游戏天才5小时前", |
||||
|
"publishTime": "5小时前", |
||||
|
"duration": "30:30", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"游戏日常", |
||||
|
"游戏精彩时刻", |
||||
|
"游戏解说" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591072408623238442", |
||||
|
"title": "千禧年到底发生了什么? #游戏 #单机游戏 #千禧失乐园 #青年创作者成长计划", |
||||
|
"author": "超稽阿威2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "17:02", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"单机游戏", |
||||
|
"千禧失乐园", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591322111742872884", |
||||
|
"title": "位玩家为得100w奖金在夜间地铁车站玩躲猫猫大赛 #高手躲猫猫2 #抖音小游戏#躲猫猫 #解压视频 #搞笑视频", |
||||
|
"author": "DY-游戏推荐官2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "06:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高手躲猫猫2", |
||||
|
"抖音小游戏", |
||||
|
"躲猫猫", |
||||
|
"解压视频", |
||||
|
"搞笑视频" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591164813637341925", |
||||
|
"title": "#兵器王者 #抖音小游戏 #沉浸式解压#锻刀大师#小游戏", |
||||
|
"author": "全是活儿2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "08:02", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"兵器王者", |
||||
|
"抖音小游戏", |
||||
|
"沉浸式解压", |
||||
|
"锻刀大师", |
||||
|
"小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590261521982582449", |
||||
|
"title": "##我是水产王 ##抖音小游戏 #这个游戏很好玩", |
||||
|
"author": "疯狂小游戏5天前", |
||||
|
"publishTime": "5天前", |
||||
|
"duration": "00:24", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"我是水产王", |
||||
|
"抖音小游戏", |
||||
|
"这个游戏很好玩" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590213710171109617", |
||||
|
"title": "#童话世界 #抖音小游戏 #好玩的小游戏 #沙盒游乐场", |
||||
|
"author": "小游戏爱好者5天前", |
||||
|
"publishTime": "5天前", |
||||
|
"duration": "00:32", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"童话世界", |
||||
|
"抖音小游戏", |
||||
|
"好玩的小游戏", |
||||
|
"沙盒游乐场" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591430327407594806", |
||||
|
"title": "全部多人联机!Steam冬促最后两天!寒假有得玩啦 #steam游戏 #联机游戏 #主机游戏 #多人联机 #游戏推荐", |
||||
|
"author": "老蒜名游堂1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "01:48", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"多人联机", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591435347175673122", |
||||
|
"title": "#steam游戏 #游戏解说 #游戏怪谈 #游戏日常 #游戏精彩时刻", |
||||
|
"author": "一块吐司1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "31:37", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏解说", |
||||
|
"游戏怪谈", |
||||
|
"游戏日常", |
||||
|
"游戏精彩时刻" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592091862895168794", |
||||
|
"title": "这个领袖就让我来当!——《为何而战》深度解析 #游戏破壁计划#无畏契约 #这就是我跨年的意义 #无畏契约V26新赛季", |
||||
|
"author": "游戏人物录3小时前", |
||||
|
"publishTime": "3小时前", |
||||
|
"duration": "09:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏破壁计划", |
||||
|
"无畏契约", |
||||
|
"这就是我跨年的意义", |
||||
|
"无畏契约V26新赛季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7589732691851906355", |
||||
|
"title": "我被绿色怪物抓到垃圾场里了,我必须要逃出去!ROBLOX 我被绿色怪物抓到垃圾场里了,我必须要逃出去!ROBLOX#游戏 #这个游戏很好玩 #意想不到的结局", |
||||
|
"author": "躺平解说5天前", |
||||
|
"publishTime": "5天前", |
||||
|
"duration": "31:00", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"这个游戏很好玩", |
||||
|
"意想不到的结局" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591105566840261907", |
||||
|
"title": "【steam冬促】拒绝盲买!这几款游戏,买了就是赚! 喜欢我推荐的游戏吗,可以给视频来点免费的赞哦,赶快分享给你的朋友让他去买,1月6日就结束了 #抖音升级计划 #青年创作者成长计划 #steam冬促 #游戏推荐 #抖音创作季", |
||||
|
"author": "桐游一(steam游戏区)2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "04:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"抖音升级计划", |
||||
|
"青年创作者成长计划", |
||||
|
"steam冬促", |
||||
|
"游戏推荐", |
||||
|
"抖音创作季" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591253851454311707", |
||||
|
"title": "当作者把经费全花在动作上时会做出怎样的游戏? 一口气看完《当心那个梦游者》系列前三部全结局实况#恐怖游戏 #青年创作者成长计划", |
||||
|
"author": "奶油蛋糕🍰1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "28:22", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"恐怖游戏", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591550433458457892", |
||||
|
"title": "这游戏太好玩了 #兄弟们开炮#抖音小游戏", |
||||
|
"author": "老向1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "10:33", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"兄弟们开炮", |
||||
|
"抖音小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591350634624912690", |
||||
|
"title": "今日限高 直线加速赛1500kmh #steam游戏#车祸模拟器#主机游戏#赛车游戏#模拟器", |
||||
|
"author": "BeamNG77472天前", |
||||
|
"publishTime": "77472天前", |
||||
|
"duration": "08:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"车祸模拟器", |
||||
|
"主机游戏", |
||||
|
"赛车游戏", |
||||
|
"模拟器" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591374356022824230", |
||||
|
"title": "7个烧脑小游戏 #知识 #烧脑游戏", |
||||
|
"author": "独断的睡梦1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"知识", |
||||
|
"烧脑游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591846195065146659", |
||||
|
"title": "见证:荒野大镖客2隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客2", |
||||
|
"author": "呼叫网管18小时前", |
||||
|
"publishTime": "18小时前", |
||||
|
"duration": "01:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"离谱", |
||||
|
"荒野大镖客2" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591131407311153728", |
||||
|
"title": "🔥《大头盔英雄》马桶塞子还能当武器?快拉上对象玩这个游戏太有意思啦!#情侣游戏 #ps5 #双人游戏 #switch游戏 #游戏推荐", |
||||
|
"author": "CC和九九2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:29", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"情侣游戏", |
||||
|
"ps5", |
||||
|
"双人游戏", |
||||
|
"switch游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592116066923351331", |
||||
|
"title": "人战局所有人都要阻止我问候泊车员,看我如何破局! 【GTAonline】新年刺激大活动!#steam游戏 #游戏", |
||||
|
"author": "飞天香鸡腿1小时前", |
||||
|
"publishTime": "1小时前", |
||||
|
"duration": "16:31", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591457085167144255", |
||||
|
"title": "方舟远古生物,上百米陡坡。原始人这次极度嚣张 #单机游戏", |
||||
|
"author": "R星游戏阿辉1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"单机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591431016864381297", |
||||
|
"title": "盘点2026年八款必玩价格的双人合作新游!全都是精挑细选,必须理会!#steam游戏 #双人游戏 #联机游戏 #游戏推荐", |
||||
|
"author": "小纯游戏1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "03:09", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"双人游戏", |
||||
|
"联机游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591925143799188778", |
||||
|
"title": "盗版游戏近期植入挖矿木马 火速自查 谨防赛博花柳 #Steam游戏 #Steam #游戏鉴赏家 #新游鉴赏家", |
||||
|
"author": "Will游戏堂7小时前", |
||||
|
"publishTime": "7小时前", |
||||
|
"duration": "00:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"Steam游戏", |
||||
|
"Steam", |
||||
|
"游戏鉴赏家", |
||||
|
"新游鉴赏家" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591698748120592241", |
||||
|
"title": "海上版冰汽时代!末日生存建造模拟游戏【Drown Light】失落之光 #steam游戏 #喜加一 #免费游戏 #单机游戏", |
||||
|
"author": "小纯游戏1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "00:28", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"喜加一", |
||||
|
"免费游戏", |
||||
|
"单机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591106651701136686", |
||||
|
"title": "Steam冬促最后两天!一折以下游戏大盘点! #steam游戏 #联机游戏 #主机游戏 #多人联机 #游戏推荐", |
||||
|
"author": "EPIC游戏狂人2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:55", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"多人联机", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591432408570940699", |
||||
|
"title": "一对夫妻流落到荒岛三年生了四个孩子 #模拟经营游戏 #单机游戏 #生存建造游戏 #领地人生林中村落", |
||||
|
"author": "游戏解说俊老师1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "08:27", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"模拟经营游戏", |
||||
|
"单机游戏", |
||||
|
"生存建造游戏", |
||||
|
"领地人生林中村落" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591043936647482634", |
||||
|
"title": "这游戏太离谱了,哪有游戏让人生出一个王国的 #模拟经营游戏 #单机游戏 #生存建造游戏 #领地人生林中村落", |
||||
|
"author": "游戏解说俊老师2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "06:52", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"模拟经营游戏", |
||||
|
"单机游戏", |
||||
|
"生存建造游戏", |
||||
|
"领地人生林中村落" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591634231044244473", |
||||
|
"title": "##高手躲猫猫2 ##抖音小游戏 #抖音游戏推荐 #热门", |
||||
|
"author": "上热门🔥🔥🔥", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "05:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高手躲猫猫2", |
||||
|
"抖音小游戏", |
||||
|
"抖音游戏推荐", |
||||
|
"热门" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591002666147739641", |
||||
|
"title": "太好了潜水员戴夫手机版他来了 #潜水员戴夫#taptap试玩节#taptap发现好游戏", |
||||
|
"author": "千语要发光2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"潜水员戴夫", |
||||
|
"taptap试玩节", |
||||
|
"taptap发现好游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591832463584859590", |
||||
|
"title": "进入一款游戏存活一年,得到500亿美元 #解压 #ai #AI创作浪潮计划 #游戏 #生存游戏", |
||||
|
"author": "IF20小时前", |
||||
|
"publishTime": "20小时前", |
||||
|
"duration": "01:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"解压", |
||||
|
"ai", |
||||
|
"AI创作浪潮计划", |
||||
|
"游戏", |
||||
|
"生存游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592036415593121919", |
||||
|
"title": "摩天大楼规则 #桌游 #摩天大楼", |
||||
|
"author": "桌游鼠王7小时前", |
||||
|
"publishTime": "7小时前", |
||||
|
"duration": "01:43", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"桌游", |
||||
|
"摩天大楼" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591420019901304118", |
||||
|
"title": "让无数玩家产生罪恶感的神作! #传说之下 #我的游戏开发日志 #我在抖音做游戏 #游戏鉴赏家 #游戏推荐", |
||||
|
"author": "是和熙本1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "01:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"传说之下", |
||||
|
"我的游戏开发日志", |
||||
|
"我在抖音做游戏", |
||||
|
"游戏鉴赏家", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591376743877856566", |
||||
|
"title": "块钱掰成2块花,推荐steam30款超值游戏 #steam游戏 #游戏推荐 #还得是主机大作", |
||||
|
"author": "游戏老冰棍2天前", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "10:14", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏推荐", |
||||
|
"还得是主机大作" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591388896710118708", |
||||
|
"title": "为什么有些公认好玩的游戏,我就是玩不下去? #游戏杂谈 #还得是主机大作 #3A游戏", |
||||
|
"author": "硬核豆浆1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "05:01", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏杂谈", |
||||
|
"还得是主机大作", |
||||
|
"3A游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591456329408007434", |
||||
|
"title": "不愧是游戏大年!你最期待哪一个? #游戏 #游戏推荐 #主机游戏", |
||||
|
"author": "编剧雷神1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "04:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"游戏推荐", |
||||
|
"主机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590264220009237787", |
||||
|
"title": "#steam游戏#游戏解说#游戏怪谈", |
||||
|
"author": "陳卷卷5天前", |
||||
|
"publishTime": "5天前", |
||||
|
"duration": "25:56", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏解说", |
||||
|
"游戏怪谈" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591798511659886419", |
||||
|
"title": "推荐十款性价比感知超高的游戏神作#Steam #steam游戏 #游戏鉴赏家 #单机游戏", |
||||
|
"author": "steam游戏推荐22小时前", |
||||
|
"publishTime": "22小时前", |
||||
|
"duration": "02:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"Steam", |
||||
|
"steam游戏", |
||||
|
"游戏鉴赏家", |
||||
|
"单机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591456184977198378", |
||||
|
"title": "四透视流护士,我有上帝视角! #steam游戏#恐怖游戏#游戏日常#黎明杀机#第五人格", |
||||
|
"author": "云吞大王cccloud1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "08:05", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"恐怖游戏", |
||||
|
"游戏日常", |
||||
|
"黎明杀机", |
||||
|
"第五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590401143328585573", |
||||
|
"title": "大象不再堵住洞口,小猴子终于可以出去玩了 #热门游戏 #这个游戏很好玩 #我是一只猴", |
||||
|
"author": "红猪玩游戏4天前", |
||||
|
"publishTime": "4天前", |
||||
|
"duration": "01:36", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"热门游戏", |
||||
|
"这个游戏很好玩", |
||||
|
"我是一只猴" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591449012574670089", |
||||
|
"title": "#游戏#游戏解说#steam游戏#主机游戏#游戏日常", |
||||
|
"author": "柚子游戏21小时前", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "20:14", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"游戏解说", |
||||
|
"steam游戏", |
||||
|
"主机游戏", |
||||
|
"游戏日常" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590394809756649467", |
||||
|
"title": "免费小游戏~ 免费小游戏~点击即玩~#解压 #游戏 #儿童益智 #儿童 #益智", |
||||
|
"author": "小小游戏厅4天前", |
||||
|
"publishTime": "4天前", |
||||
|
"duration": "00:43", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"解压", |
||||
|
"游戏", |
||||
|
"儿童益智", |
||||
|
"儿童", |
||||
|
"益智" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591824335837334811", |
||||
|
"title": "这游戏笑死人了!!! #steam游戏 #游戏 #青年创作者成长计划", |
||||
|
"author": "弟弟大魔王20小时前", |
||||
|
"publishTime": "20小时前", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590285392873264457", |
||||
|
"title": "奥伦解救平基~ ##火柴人逆袭 ##抖音小游戏 #这个游戏很好玩 #二次元", |
||||
|
"author": "银河游戏5天前", |
||||
|
"publishTime": "5天前", |
||||
|
"duration": "00:39", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"火柴人逆袭", |
||||
|
"抖音小游戏", |
||||
|
"这个游戏很好玩", |
||||
|
"二次元" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591459565414740709", |
||||
|
"title": "主打的就是一个 胆大… #单机游戏 #生化危机 #游戏 #游戏解说", |
||||
|
"author": "大大大雄1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "04:07", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"单机游戏", |
||||
|
"生化危机", |
||||
|
"游戏", |
||||
|
"游戏解说" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591791111463505152", |
||||
|
"title": "#steam游戏 #恐怖游戏 #游戏解说 #mc不灭", |
||||
|
"author": "黄蜂的游戏22小时前", |
||||
|
"publishTime": "22小时前", |
||||
|
"duration": "26:28", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"恐怖游戏", |
||||
|
"游戏解说", |
||||
|
"mc不灭" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591714199161421027", |
||||
|
"title": "塞尔达传说凭啥被称为天,没有这款游戏Switch还会有人买吗 #创作灵感 #switch #switch游戏 #塞尔达传说旷野之息 #塞尔达传说", |
||||
|
"author": "小宋老师玩游戏1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "03:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"创作灵感", |
||||
|
"switch", |
||||
|
"switch游戏", |
||||
|
"塞尔达传说旷野之息", |
||||
|
"塞尔达传说" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591062301633973530", |
||||
|
"title": "#游戏 #游戏日常 #游戏精彩时刻 #游戏解说", |
||||
|
"author": "游戏天才22小时前", |
||||
|
"publishTime": "22小时前", |
||||
|
"duration": "30:51", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"游戏日常", |
||||
|
"游戏精彩时刻", |
||||
|
"游戏解说" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590270819151562161", |
||||
|
"title": "#解压快消除 #抖音小游戏", |
||||
|
"author": "暴富小麻薯🌤️5天前", |
||||
|
"publishTime": "5天前", |
||||
|
"duration": "01:00", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"解压快消除", |
||||
|
"抖音小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591175612182646031", |
||||
|
"title": "科 技 清 图 #小浪浪的游戏日常 #恐怖游戏 #steam游戏", |
||||
|
"author": "小浪浪的游戏世界1天前", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "02:45", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"小浪浪的游戏日常", |
||||
|
"恐怖游戏", |
||||
|
"steam游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591688126070885632", |
||||
|
"title": "#无畏契约#射击游戏#第一人称视角#极限操作#steam游戏", |
||||
|
"author": "那个玩游戏的21小时前", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "28:23", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"无畏契约", |
||||
|
"射击游戏", |
||||
|
"第一人称视角", |
||||
|
"极限操作", |
||||
|
"steam游戏" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,429 @@ |
|||||
|
{ |
||||
|
"keyword": "游戏", |
||||
|
"crawl_time": "2026-01-06 18:12:58", |
||||
|
"total_count": 30, |
||||
|
"videos": [ |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591164813637341925", |
||||
|
"title": "#兵器王者 #抖音小游戏 #沉浸式解压#锻刀大师#小游戏", |
||||
|
"author": "全是活儿", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "08:02", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"兵器王者", |
||||
|
"抖音小游戏", |
||||
|
"沉浸式解压", |
||||
|
"锻刀大师", |
||||
|
"小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591430327407594806", |
||||
|
"title": "全部多人联机!Steam冬促最后两天!寒假有得玩啦 #steam游戏 #联机游戏 #主机游戏 #多人联机 #游戏推荐", |
||||
|
"author": "老蒜名游堂", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:48", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"多人联机", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591435347175673122", |
||||
|
"title": "#steam游戏 #游戏解说 #游戏怪谈 #游戏日常 #游戏精彩时刻", |
||||
|
"author": "一块吐司", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "31:37", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏解说", |
||||
|
"游戏怪谈", |
||||
|
"游戏日常", |
||||
|
"游戏精彩时刻" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591253851454311707", |
||||
|
"title": "当作者把经费全花在动作上时会做出怎样的游戏? 一口气看完《当心那个梦游者》系列前三部全结局实况#恐怖游戏 #青年创作者成长计划", |
||||
|
"author": "奶油蛋糕🍰", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "28:22", |
||||
|
"playCount": "2", |
||||
|
"tags": [ |
||||
|
"恐怖游戏", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592182006060248571", |
||||
|
"title": "#小游戏 #小游戏趣玩 #小游戏夏日 #小游戏推荐", |
||||
|
"author": "小宝🐯", |
||||
|
"publishTime": "27分钟前", |
||||
|
"duration": "02:19", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"小游戏", |
||||
|
"小游戏趣玩", |
||||
|
"小游戏夏日", |
||||
|
"小游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591550433458457892", |
||||
|
"title": "这游戏太好玩了 #兄弟们开炮#抖音小游戏", |
||||
|
"author": "老向", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "10:33", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"兄弟们开炮", |
||||
|
"抖音小游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591321009362341146", |
||||
|
"title": "最后三天全部一折!Steam冬促倒计时,超多的一折新史低盘点 #STEAM游戏 #单机游戏 #联机游戏 #主机游戏 #游戏推荐", |
||||
|
"author": "ADA丶爱游戏", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:31", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"STEAM游戏", |
||||
|
"单机游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591131407311153728", |
||||
|
"title": "🔥《大头盔英雄》马桶塞子还能当武器?快拉上对象玩这个游戏太有意思啦!#情侣游戏 #ps #双人游戏 #switch游戏 #游戏推荐", |
||||
|
"author": "CC和九九", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:29", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"情侣游戏", |
||||
|
"ps", |
||||
|
"双人游戏", |
||||
|
"switch游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591846195065146659", |
||||
|
"title": "见证:荒野大镖客隐藏七年的巨型彩蛋,终于被玩家发现! #游戏 #离谱 #荒野大镖客", |
||||
|
"author": "呼叫网管", |
||||
|
"publishTime": "21小时前", |
||||
|
"duration": "01:58", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"离谱", |
||||
|
"荒野大镖客" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591350634624912690", |
||||
|
"title": "今日限高 直线加速赛kmh #steam游戏#车祸模拟器#主机游戏#赛车游戏#模拟器", |
||||
|
"author": "BeamNG", |
||||
|
"publishTime": "77472天前", |
||||
|
"duration": "08:08", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"车祸模拟器", |
||||
|
"主机游戏", |
||||
|
"赛车游戏", |
||||
|
"模拟器" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591925143799188778", |
||||
|
"title": "盗版游戏近期植入挖矿木马 火速自查 谨防赛博花柳 #Steam游戏 #Steam #游戏鉴赏家 #新游鉴赏家", |
||||
|
"author": "Will游戏堂", |
||||
|
"publishTime": "10小时前", |
||||
|
"duration": "00:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"Steam游戏", |
||||
|
"Steam", |
||||
|
"游戏鉴赏家", |
||||
|
"新游鉴赏家" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591374356022824230", |
||||
|
"title": "个烧脑小游戏 #知识 #烧脑游戏", |
||||
|
"author": "独断的睡梦", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "02:25", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"知识", |
||||
|
"烧脑游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7590990223798996265", |
||||
|
"title": "多人生存建造+塔防《星际裂变》将于月号抢先上线! #steam游戏 #生存游戏 #沙盒游戏 #新游鉴赏家 #游戏推荐", |
||||
|
"author": "菜鸡游戏资讯", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:46", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"生存游戏", |
||||
|
"沙盒游戏", |
||||
|
"新游鉴赏家", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591002666147739641", |
||||
|
"title": "太好了潜水员戴夫手机版他来了 #潜水员戴夫#taptap试玩节#taptap发现好游戏", |
||||
|
"author": "千语要发光", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"潜水员戴夫", |
||||
|
"taptap试玩节", |
||||
|
"taptap发现好游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591634231044244473", |
||||
|
"title": "##高手躲猫猫 ##抖音小游戏 #抖音游戏推荐 #热门", |
||||
|
"author": "上热门🔥🔥🔥", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "05:56", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"高手躲猫猫", |
||||
|
"抖音小游戏", |
||||
|
"抖音游戏推荐", |
||||
|
"热门" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7592054641102163234", |
||||
|
"title": "#steam游戏#游戏中的瞬间#猎奇#游戏怪谈", |
||||
|
"author": "旺仔小酥", |
||||
|
"publishTime": "6小时前", |
||||
|
"duration": "31:25", |
||||
|
"playCount": "3", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏中的瞬间", |
||||
|
"猎奇", |
||||
|
"游戏怪谈" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591685446153833728", |
||||
|
"title": "#游戏#steam游戏#游戏解说#游戏怪谈#游戏精彩时刻", |
||||
|
"author": "空白题", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "40:10", |
||||
|
"playCount": "4", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"steam游戏", |
||||
|
"游戏解说", |
||||
|
"游戏怪谈", |
||||
|
"游戏精彩时刻" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591832463584859590", |
||||
|
"title": "进入一款游戏存活一年,得到亿美元 #解压 #ai #AI创作浪潮计划 #游戏 #生存游戏", |
||||
|
"author": "IF", |
||||
|
"publishTime": "23小时前", |
||||
|
"duration": "01:14", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"解压", |
||||
|
"ai", |
||||
|
"AI创作浪潮计划", |
||||
|
"游戏", |
||||
|
"生存游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591106651701136686", |
||||
|
"title": "Steam冬促最后两天!一折以下游戏大盘点! #steam游戏 #联机游戏 #主机游戏 #多人联机 #游戏推荐", |
||||
|
"author": "EPIC游戏狂人", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "00:55", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"联机游戏", |
||||
|
"主机游戏", |
||||
|
"多人联机", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591125837727594085", |
||||
|
"title": "-盘点最强fps游戏#fps游戏 #射击游戏推荐 #游戏盘点 #游戏杂谈 #游戏流量风向标", |
||||
|
"author": "宇文兵游戏杂谈", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:41", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"fps游戏", |
||||
|
"射击游戏推荐", |
||||
|
"游戏盘点", |
||||
|
"游戏杂谈", |
||||
|
"游戏流量风向标" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591107498070950905", |
||||
|
"title": "听懂了\n#魂类游戏 #解压游戏推荐 #宫崎英高 #解压视频 #fyp", |
||||
|
"author": "steam为什么吞我成就!", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:35", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"魂类游戏", |
||||
|
"解压游戏推荐", |
||||
|
"宫崎英高", |
||||
|
"解压视频", |
||||
|
"fyp" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591431016864381297", |
||||
|
"title": "盘点年八款必玩价格的双人合作新游!全都是精挑细选,必须理会!#steam游戏 #双人游戏 #联机游戏 #游戏推荐", |
||||
|
"author": "小纯游戏", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "03:09", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"双人游戏", |
||||
|
"联机游戏", |
||||
|
"游戏推荐" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591388896710118708", |
||||
|
"title": "为什么有些公认好玩的游戏,我就是玩不下去? #游戏杂谈 #还得是主机大作 #A游戏", |
||||
|
"author": "硬核豆浆", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "05:01", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏杂谈", |
||||
|
"还得是主机大作", |
||||
|
"A游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591085549625068815", |
||||
|
"title": "玩个游戏而已,各大厂商为了不让你那么变态,可是屡出奇招! #steam游戏 #单机游戏 #赛博朋克 #荒野大镖客 #使命召唤", |
||||
|
"author": "电竞匹夫", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "03:11", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"单机游戏", |
||||
|
"赛博朋克", |
||||
|
"荒野大镖客", |
||||
|
"使命召唤" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591456184977198378", |
||||
|
"title": "四透视流护士,我有上帝视角! #steam游戏#恐怖游戏#游戏日常#黎明杀机#第五人格", |
||||
|
"author": "云吞大王cccloud", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "08:05", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"恐怖游戏", |
||||
|
"游戏日常", |
||||
|
"黎明杀机", |
||||
|
"第五人格" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591097126042586402", |
||||
|
"title": "当满屏离谱玩法 当游戏会自己进化:这游戏的赛季制能有多野! #游戏 #逆战未来全年前瞻爆料 #逆战未来 #逆战未来月日上线#逆战未来正式上线", |
||||
|
"author": "呼叫网管", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:30", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"逆战未来全年前瞻爆料", |
||||
|
"逆战未来", |
||||
|
"逆战未来月日上线", |
||||
|
"逆战未来正式上线" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591456329408007434", |
||||
|
"title": "不愧是游戏大年!你最期待哪一个? #游戏 #游戏推荐 #主机游戏", |
||||
|
"author": "编剧雷神", |
||||
|
"publishTime": "1天前", |
||||
|
"duration": "04:16", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"游戏", |
||||
|
"游戏推荐", |
||||
|
"主机游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591376743877856566", |
||||
|
"title": "块钱掰成块花,推荐steam款超值游戏 #steam游戏 #游戏推荐 #还得是主机大作", |
||||
|
"author": "游戏老冰棍", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "10:14", |
||||
|
"playCount": "1", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏推荐", |
||||
|
"还得是主机大作" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591387336568365434", |
||||
|
"title": "果然一切的恐惧都来源于火力和人数不足#战术小队 #生化模式 #游戏", |
||||
|
"author": "钵钵鸡(游戏解说)", |
||||
|
"publishTime": "2天前", |
||||
|
"duration": "01:18", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"战术小队", |
||||
|
"生化模式", |
||||
|
"游戏" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"url": "https://www.douyin.com/video/7591824335837334811", |
||||
|
"title": "这游戏笑死人了!!! #steam游戏 #游戏 #青年创作者成长计划", |
||||
|
"author": "弟弟大魔王", |
||||
|
"publishTime": "23小时前", |
||||
|
"duration": "00:40", |
||||
|
"playCount": "0", |
||||
|
"tags": [ |
||||
|
"steam游戏", |
||||
|
"游戏", |
||||
|
"青年创作者成长计划" |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,273 @@ |
|||||
|
""" |
||||
|
抖音搜索页面数据爬取脚本 |
||||
|
支持按关键词搜索并爬取视频信息 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
import json |
||||
|
import re |
||||
|
from datetime import datetime |
||||
|
from pathlib import Path |
||||
|
from playwright.async_api import async_playwright |
||||
|
import argparse |
||||
|
|
||||
|
|
||||
|
class DouyinSearchCrawler: |
||||
|
def __init__(self, headless=False): |
||||
|
self.headless = headless |
||||
|
self.browser = None |
||||
|
self.context = None |
||||
|
self.page = None |
||||
|
|
||||
|
async def init_browser(self): |
||||
|
"""初始化浏览器""" |
||||
|
self.playwright = await async_playwright().start() |
||||
|
self.browser = await self.playwright.chromium.launch( |
||||
|
headless=self.headless, |
||||
|
args=[ |
||||
|
'--disable-blink-features=AutomationControlled', |
||||
|
'--no-sandbox', |
||||
|
'--disable-setuid-sandbox' |
||||
|
] |
||||
|
) |
||||
|
|
||||
|
# 创建浏览器上下文 |
||||
|
self.context = await self.browser.new_context( |
||||
|
viewport={'width': 1920, 'height': 1080}, |
||||
|
user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' |
||||
|
) |
||||
|
|
||||
|
self.page = await self.context.new_page() |
||||
|
|
||||
|
# 设置超时时间 |
||||
|
self.page.set_default_timeout(30000) |
||||
|
|
||||
|
# 设置额外的headers |
||||
|
await self.page.set_extra_http_headers({ |
||||
|
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', |
||||
|
}) |
||||
|
|
||||
|
async def load_cookies(self, cookie_file='douyin_cookie.json'): |
||||
|
"""加载cookies""" |
||||
|
cookie_path = Path(cookie_file) |
||||
|
if cookie_path.exists(): |
||||
|
try: |
||||
|
with open(cookie_path, 'r', encoding='utf-8') as f: |
||||
|
cookies = json.load(f) |
||||
|
await self.context.add_cookies(cookies) |
||||
|
print(f"✓ 成功加载 cookies: {cookie_file}") |
||||
|
return True |
||||
|
except Exception as e: |
||||
|
print(f"✗ 加载 cookies 失败: {e}") |
||||
|
return False |
||||
|
else: |
||||
|
print(f"✗ Cookie 文件不存在: {cookie_file}") |
||||
|
return False |
||||
|
|
||||
|
async def search_videos(self, keyword, max_scroll=5): |
||||
|
"""搜索视频""" |
||||
|
print(f"\n开始搜索关键词: {keyword}") |
||||
|
|
||||
|
# 访问搜索页面 |
||||
|
search_url = f"https://www.douyin.com/search/{keyword}?type=video" |
||||
|
print(f"访问URL: {search_url}") |
||||
|
|
||||
|
try: |
||||
|
await self.page.goto(search_url, wait_until='networkidle', timeout=60000) |
||||
|
print("✓ 页面加载完成") |
||||
|
except Exception as e: |
||||
|
print(f"⚠ 页面加载超时,继续尝试: {e}") |
||||
|
|
||||
|
# 增加初始等待时间,确保页面完全加载 |
||||
|
print("等待页面内容加载...") |
||||
|
await asyncio.sleep(5) |
||||
|
|
||||
|
# 等待视频列表元素出现 |
||||
|
try: |
||||
|
await self.page.wait_for_selector('a[href*="/video/"]', timeout=10000) |
||||
|
print("✓ 检测到视频元素") |
||||
|
except Exception as e: |
||||
|
print(f"⚠ 未检测到视频元素: {e}") |
||||
|
|
||||
|
all_videos = [] |
||||
|
no_new_data_count = 0 # 连续没有新数据的次数 |
||||
|
|
||||
|
# 滚动加载更多内容 |
||||
|
for scroll_count in range(max_scroll): |
||||
|
print(f"\n第 {scroll_count + 1}/{max_scroll} 次滚动加载...") |
||||
|
|
||||
|
previous_count = len(all_videos) |
||||
|
|
||||
|
# 提取当前页面的视频数据 |
||||
|
videos = await self.extract_videos() |
||||
|
|
||||
|
# 去重并添加到结果中 |
||||
|
for video in videos: |
||||
|
if video['url'] not in [v['url'] for v in all_videos]: |
||||
|
all_videos.append(video) |
||||
|
|
||||
|
new_count = len(all_videos) - previous_count |
||||
|
print(f"本次新增 {new_count} 个视频,当前已获取 {len(all_videos)} 个视频") |
||||
|
|
||||
|
# 如果连续3次没有新数据,提前结束 |
||||
|
if new_count == 0: |
||||
|
no_new_data_count += 1 |
||||
|
if no_new_data_count >= 3: |
||||
|
print("连续3次未获取到新数据,停止滚动") |
||||
|
break |
||||
|
else: |
||||
|
no_new_data_count = 0 |
||||
|
|
||||
|
# 滚动到页面底部 |
||||
|
await self.page.evaluate('window.scrollTo(0, document.body.scrollHeight)') |
||||
|
|
||||
|
# 增加滚动后的等待时间 |
||||
|
await asyncio.sleep(3) |
||||
|
|
||||
|
return all_videos |
||||
|
|
||||
|
async def extract_videos(self): |
||||
|
"""提取页面上的视频信息""" |
||||
|
# 先等待一下确保DOM更新 |
||||
|
await asyncio.sleep(1) |
||||
|
|
||||
|
videos_data = await self.page.evaluate('''() => { |
||||
|
const links = Array.from(document.querySelectorAll('a[href*="/video/"]')); |
||||
|
|
||||
|
return links.map(link => { |
||||
|
const text = link.textContent?.trim() || ''; |
||||
|
const url = link.getAttribute('href') || ''; |
||||
|
|
||||
|
// 提取时长 (格式: HH:MM 或 MM:SS) |
||||
|
const durationMatch = text.match(/(\\d{1,2}:\\d{2})/); |
||||
|
const duration = durationMatch ? durationMatch[1] : ''; |
||||
|
|
||||
|
// 提取播放量 |
||||
|
const playCountMatch = text.match(/([\\d.]+万|[\\d]+)(?!:)/); |
||||
|
const playCount = playCountMatch ? playCountMatch[1] : ''; |
||||
|
|
||||
|
// 提取发布时间 |
||||
|
const timeMatch = text.match(/(\\d+天前|\\d+小时前|\\d+分钟前|\\d{4}-\\d{2}-\\d{2})/); |
||||
|
const publishTime = timeMatch ? timeMatch[1] : ''; |
||||
|
|
||||
|
// 提取作者 - 先提取,然后移除时间信息 |
||||
|
const authorMatch = text.match(/@([^\\s@]+)/); |
||||
|
let author = authorMatch ? authorMatch[1] : ''; |
||||
|
// 从作者中移除时间信息(如果存在) |
||||
|
if (author && publishTime) { |
||||
|
author = author.replace(publishTime, '').trim(); |
||||
|
} |
||||
|
// 移除可能残留的数字和"前"字 |
||||
|
author = author.replace(/\\d+(天|小时|分钟)前$/, '').trim(); |
||||
|
|
||||
|
// 提取标题和标签 |
||||
|
let title = text; |
||||
|
// 移除时长、播放量、作者、时间等信息 |
||||
|
title = title.replace(/(\\d{1,2}:\\d{2})/g, ''); |
||||
|
title = title.replace(/([\\d.]+万|[\\d]+)(?!:)/g, ''); |
||||
|
title = title.replace(/@[^\\s@]+/g, ''); |
||||
|
title = title.replace(/(\\d+天前|\\d+小时前|\\d+分钟前|\\d{4}-\\d{2}-\\d{2})/g, ''); |
||||
|
title = title.replace(/合集/g, ''); |
||||
|
title = title.trim(); |
||||
|
|
||||
|
// 提取标签 |
||||
|
const tags = []; |
||||
|
const tagMatches = title.matchAll(/#([^#\\s]+)/g); |
||||
|
for (const match of tagMatches) { |
||||
|
tags.push(match[1]); |
||||
|
} |
||||
|
|
||||
|
return { |
||||
|
url: url.startsWith('//') ? 'https:' + url : url, |
||||
|
title: title, |
||||
|
author: author, |
||||
|
publishTime: publishTime, |
||||
|
duration: duration, |
||||
|
playCount: playCount, |
||||
|
tags: tags |
||||
|
}; |
||||
|
}); |
||||
|
}''') |
||||
|
|
||||
|
# 过滤掉空数据 |
||||
|
videos_data = [v for v in videos_data if v['url'] and v['title']] |
||||
|
|
||||
|
return videos_data |
||||
|
|
||||
|
async def save_results(self, keyword, videos): |
||||
|
"""保存结果到JSON文件""" |
||||
|
# 创建输出目录 |
||||
|
output_dir = Path('douyin_data') |
||||
|
output_dir.mkdir(exist_ok=True) |
||||
|
|
||||
|
# 生成文件名 |
||||
|
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') |
||||
|
filename = output_dir / f'douyin_search_{keyword}_{timestamp}.json' |
||||
|
|
||||
|
# 准备数据 |
||||
|
data = { |
||||
|
'keyword': keyword, |
||||
|
'crawl_time': datetime.now().strftime('%Y-%m-%d %H:%M:%S'), |
||||
|
'total_count': len(videos), |
||||
|
'videos': videos |
||||
|
} |
||||
|
|
||||
|
# 保存到文件 |
||||
|
with open(filename, 'w', encoding='utf-8') as f: |
||||
|
json.dump(data, f, ensure_ascii=False, indent=2) |
||||
|
|
||||
|
print(f"\n✓ 数据已保存到: {filename}") |
||||
|
print(f"✓ 共爬取 {len(videos)} 个视频") |
||||
|
|
||||
|
return filename |
||||
|
|
||||
|
async def close(self): |
||||
|
"""关闭浏览器""" |
||||
|
if self.page: |
||||
|
await self.page.close() |
||||
|
if self.context: |
||||
|
await self.context.close() |
||||
|
if self.browser: |
||||
|
await self.browser.close() |
||||
|
if hasattr(self, 'playwright'): |
||||
|
await self.playwright.stop() |
||||
|
|
||||
|
|
||||
|
async def main(): |
||||
|
parser = argparse.ArgumentParser(description='抖音搜索页面爬虫') |
||||
|
parser.add_argument('keyword', help='搜索关键词') |
||||
|
parser.add_argument('--max-scroll', type=int, default=5, help='最大滚动次数 (默认: 5)') |
||||
|
parser.add_argument('--headless', action='store_true', help='无头模式运行') |
||||
|
parser.add_argument('--cookie', default='douyin_cookie.json', help='Cookie文件路径') |
||||
|
|
||||
|
args = parser.parse_args() |
||||
|
|
||||
|
crawler = DouyinSearchCrawler(headless=args.headless) |
||||
|
|
||||
|
try: |
||||
|
# 初始化浏览器 |
||||
|
await crawler.init_browser() |
||||
|
|
||||
|
# 加载cookies |
||||
|
await crawler.load_cookies(args.cookie) |
||||
|
|
||||
|
# 搜索视频 |
||||
|
videos = await crawler.search_videos(args.keyword, max_scroll=args.max_scroll) |
||||
|
|
||||
|
# 保存结果 |
||||
|
if videos: |
||||
|
await crawler.save_results(args.keyword, videos) |
||||
|
else: |
||||
|
print("\n✗ 未获取到任何视频数据") |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"\n✗ 爬取过程中出错: {e}") |
||||
|
import traceback |
||||
|
traceback.print_exc() |
||||
|
|
||||
|
finally: |
||||
|
await crawler.close() |
||||
|
|
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
asyncio.run(main()) |
||||
@ -0,0 +1,291 @@ |
|||||
|
# AI Agent 系统提示词 - 创作灵感生成专家 |
||||
|
|
||||
|
你是一个智能的抖音创作灵感生成助手,能够理解用户需求并自主调用工具完成任务。 |
||||
|
|
||||
|
## 你的能力 |
||||
|
|
||||
|
你可以使用以下工具: |
||||
|
|
||||
|
1. **extract_search_keywords** - 从用户查询中提取分类关键词 |
||||
|
2. **get_creative_guidance** - 获取抖音创作指导页面的热门视频数据(首选) |
||||
|
3. **search_douyin_videos** - 根据关键词搜索抖音视频(备选) |
||||
|
4. **analyze_video_data** - 分析视频数据,提取统计信息 |
||||
|
5. **generate_creative_inspirations** - 生成创作灵感(核心功能) |
||||
|
|
||||
|
## 核心工作流程 |
||||
|
|
||||
|
当用户提出需求时,你必须按照以下流程执行: |
||||
|
|
||||
|
### 第1步:理解用户需求并提取分类 |
||||
|
|
||||
|
用户会提供一段描述,你需要: |
||||
|
1. 理解用户想要创作什么类型的内容 |
||||
|
2. 从用户描述中识别或提取最匹配的分类 |
||||
|
|
||||
|
**支持的分类**(共26个): |
||||
|
- 美食、旅行、泛生活、汽车、科技、游戏、二次元 |
||||
|
- 娱乐、明星、体育、文化教育、校园、政务 |
||||
|
- 时尚、才艺、随拍、动植物、图文控 |
||||
|
- 剧情、亲子、三农、创意、户外、公益 |
||||
|
|
||||
|
**分类识别规则**: |
||||
|
- 如果用户明确提到分类名称(如"美食"、"游戏"),直接使用 |
||||
|
- 如果用户描述了内容特征,推断最匹配的分类 |
||||
|
- 如果实在无法确定,使用"泛生活"作为默认分类 |
||||
|
|
||||
|
### 第2步:获取创作指导数据(首选方案) |
||||
|
|
||||
|
使用 `get_creative_guidance(category="识别的分类")` 获取该分类的热门视频数据。 |
||||
|
|
||||
|
**为什么首选创作指导**: |
||||
|
- 数据质量高,都是平台推荐的优质内容 |
||||
|
- 包含完整的互动数据(播放、点赞、评论) |
||||
|
- 有热词和标签信息 |
||||
|
- 更能代表当前趋势 |
||||
|
|
||||
|
**重要**:系统会自动返回前10条数据,你只需要使用前9条即可。 |
||||
|
|
||||
|
### 第3步:为每条视频生成对应的创作灵感 |
||||
|
|
||||
|
**关键变化**:不再生成9个独立的灵感,而是为获取到的前9条视频数据,每一条生成一个对应的创作灵感。 |
||||
|
|
||||
|
使用 `generate_creative_inspirations(videos=前9条视频数据, user_query=用户原始查询, count=9)` 生成灵感。 |
||||
|
|
||||
|
**灵感要求**: |
||||
|
- 必须为前9条视频数据的每一条生成一个对应的灵感 |
||||
|
- 每个灵感要基于对应视频的内容、标签、热词等信息 |
||||
|
- 每个灵感包含: |
||||
|
- 标题(基于对应视频的主题) |
||||
|
- 核心创意(从对应视频中提炼) |
||||
|
- 执行建议(参考对应视频的成功要素) |
||||
|
- 热门标签(使用对应视频的标签) |
||||
|
- 参考视频信息(作者、描述片段) |
||||
|
- 灵感要具体可执行,不要泛泛而谈 |
||||
|
- 符合用户的需求和意图 |
||||
|
|
||||
|
### 第4步:备选方案(如果用户不满意) |
||||
|
|
||||
|
如果用户对生成的灵感不满意,或者明确要求更多选择: |
||||
|
|
||||
|
1. 使用 `search_douyin_videos(keyword="提取的关键词")` 搜索更多视频 |
||||
|
2. 再次使用 `generate_creative_inspirations` 为新的前9条视频生成对应灵感 |
||||
|
|
||||
|
## 执行场景示例 |
||||
|
|
||||
|
### 场景A:用户明确提到分类 |
||||
|
|
||||
|
**用户输入**: |
||||
|
``` |
||||
|
我想做一些美食相关的短视频,主要是家常菜的制作教程 |
||||
|
``` |
||||
|
|
||||
|
**你的执行**: |
||||
|
1. 识别分类:美食 |
||||
|
2. 调用 `get_creative_guidance(category="美食")` |
||||
|
3. 获取到前9条视频数据 |
||||
|
4. 调用 `generate_creative_inspirations(videos=前9条视频, user_query="我想做一些美食相关的短视频,主要是家常菜的制作教程", count=9)` |
||||
|
5. 为每条视频生成一个对应的创作灵感 |
||||
|
|
||||
|
### 场景B:用户描述内容特征 |
||||
|
|
||||
|
**用户输入**: |
||||
|
``` |
||||
|
我想拍一些关于大学生活的有趣视频,记录校园日常 |
||||
|
``` |
||||
|
|
||||
|
**你的执行**: |
||||
|
1. 推断分类:校园(因为提到"大学生活"、"校园日常") |
||||
|
2. 调用 `get_creative_guidance(category="校园")` |
||||
|
3. 获取到前9条视频数据 |
||||
|
4. 调用 `generate_creative_inspirations(videos=前9条视频, user_query="我想拍一些关于大学生活的有趣视频,记录校园日常", count=9)` |
||||
|
5. 为每条视频生成一个对应的创作灵感 |
||||
|
|
||||
|
### 场景C:用户需求不明确 |
||||
|
|
||||
|
**用户输入**: |
||||
|
``` |
||||
|
我想做短视频,但不知道拍什么 |
||||
|
``` |
||||
|
|
||||
|
**你的执行**: |
||||
|
1. 使用默认分类:泛生活 |
||||
|
2. 调用 `get_creative_guidance(category="泛生活")` |
||||
|
3. 获取到前9条视频数据 |
||||
|
4. 调用 `generate_creative_inspirations(videos=前9条视频, user_query="我想做短视频,但不知道拍什么", count=9)` |
||||
|
5. 为每条视频生成一个对应的创作灵感 |
||||
|
|
||||
|
### 场景D:用户不满意,需要更多选择 |
||||
|
|
||||
|
**用户输入**: |
||||
|
``` |
||||
|
这些灵感不太适合我,能给我一些其他的吗? |
||||
|
``` |
||||
|
|
||||
|
**你的执行**: |
||||
|
1. 使用 `search_douyin_videos(keyword="之前识别的关键词或分类")` |
||||
|
2. 获取到前9条视频数据 |
||||
|
3. 调用 `generate_creative_inspirations(videos=前9条视频, user_query="用户的原始需求", count=9)` |
||||
|
4. 为每条视频生成一个对应的创作灵感 |
||||
|
|
||||
|
## 输出格式要求 |
||||
|
|
||||
|
你的最终答案必须包含: |
||||
|
|
||||
|
### 1. 分类识别结果 |
||||
|
``` |
||||
|
📂 识别的内容分类:【分类名称】 |
||||
|
💡 识别依据:简要说明为什么选择这个分类 |
||||
|
``` |
||||
|
|
||||
|
### 2. 数据来源说明 |
||||
|
``` |
||||
|
📊 数据来源:创作指导 / 搜索结果 |
||||
|
📈 分析视频数量:9个 |
||||
|
``` |
||||
|
|
||||
|
### 3. 九个创作灵感(JSON格式) |
||||
|
|
||||
|
**格式要求**:必须返回严格的JSON格式 |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"inspirations": [ |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "灵感标题", |
||||
|
"description": "核心创意描述和执行建议", |
||||
|
"reference_author": "参考视频作者", |
||||
|
"reference_description": "参考视频描述片段", |
||||
|
"url": "参考视频作者主页链接", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#标签1", "#标签2", "#标签3"], |
||||
|
"keywords": ["关键词1", "关键词2", "关键词3"] |
||||
|
}, |
||||
|
{ |
||||
|
"id": 2, |
||||
|
"title": "灵感标题", |
||||
|
"description": "核心创意描述和执行建议", |
||||
|
"reference_author": "参考视频作者", |
||||
|
"reference_description": "参考视频描述片段", |
||||
|
"url": "参考视频作者主页链接", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#标签1", "#标签2"], |
||||
|
"keywords": ["关键词1", "关键词2"] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
**字段说明**: |
||||
|
- `id`: 灵感编号(1-9) |
||||
|
- `title`: 灵感标题(15字以内) |
||||
|
- `description`: 核心创意和执行建议的综合描述(100字以内) |
||||
|
- `reference_author`: 参考视频的作者名 |
||||
|
- `reference_description`: 参考视频的描述片段(30字以内) |
||||
|
- `url`: 参考视频作者的主页链接 |
||||
|
- `platform`: 平台名称,固定为"抖音" |
||||
|
- `tags`: 推荐使用的标签数组(来自视频) |
||||
|
- `keywords`: 热门关键词数组(来自视频) |
||||
|
|
||||
|
### 4. 补充说明(可选) |
||||
|
``` |
||||
|
💭 创作提示: |
||||
|
- 提示1 |
||||
|
- 提示2 |
||||
|
- 提示3 |
||||
|
``` |
||||
|
|
||||
|
## 重要规则 |
||||
|
|
||||
|
1. **必须生成9个灵感**:这是核心要求,不能少于9个 |
||||
|
2. **每个灵感对应一条视频**:不是独立创作9个灵感,而是基于前9条视频数据,每条生成一个 |
||||
|
3. **灵感要具体可执行**:不要泛泛而谈,要给出具体的拍摄建议 |
||||
|
4. **基于视频数据**:每个灵感要明确标注参考的视频信息 |
||||
|
5. **使用视频的标签和热词**:直接使用对应视频的标签和热词 |
||||
|
6. **首选创作指导**:优先使用 `get_creative_guidance`,只有在用户不满意时才使用 `search_douyin_videos` |
||||
|
7. **保持专业性**:输出要专业、有条理、易于理解 |
||||
|
|
||||
|
## 错误处理 |
||||
|
|
||||
|
如果遇到以下情况: |
||||
|
|
||||
|
1. **无法获取数据**: |
||||
|
- 尝试使用备选方案(search_douyin_videos) |
||||
|
- 如果仍然失败,向用户说明情况并建议调整需求 |
||||
|
|
||||
|
2. **获取的视频少于9条**: |
||||
|
- 为实际获取到的视频数量生成对应灵感 |
||||
|
- 向用户说明实际生成的灵感数量 |
||||
|
|
||||
|
3. **分类不在支持列表中**: |
||||
|
- 选择最接近的分类 |
||||
|
- 或使用"泛生活"作为默认 |
||||
|
|
||||
|
4. **生成灵感失败**: |
||||
|
- 尝试使用不同的数据源 |
||||
|
- 或基于已有数据手动总结灵感 |
||||
|
|
||||
|
## 示例对话 |
||||
|
|
||||
|
**用户**:我想做一些关于健身的短视频,分享一些简单的居家锻炼方法 |
||||
|
|
||||
|
**你的回答**: |
||||
|
|
||||
|
📂 识别的内容分类:【体育】 |
||||
|
💡 识别依据:用户提到"健身"和"锻炼",属于体育运动类内容 |
||||
|
|
||||
|
📊 数据来源:创作指导 |
||||
|
📈 分析视频数量:9个 |
||||
|
|
||||
|
## 🎬 创作灵感(JSON格式) |
||||
|
|
||||
|
```json |
||||
|
{ |
||||
|
"inspirations": [ |
||||
|
{ |
||||
|
"id": 1, |
||||
|
"title": "5分钟晨起唤醒操", |
||||
|
"description": "设计一套简单的晨起拉伸动作,配合轻快音乐,帮助用户快速唤醒身体。固定机位拍摄,穿运动服,展示5-6个动作,每个动作配文字说明和倒计时。", |
||||
|
"reference_author": "健身教练小李", |
||||
|
"reference_description": "每天5分钟,唤醒身体活力!简单拉伸动作...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/xxxxx", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#健身", "#晨起运动", "#居家健身"], |
||||
|
"keywords": ["晨起", "拉伸", "唤醒"] |
||||
|
}, |
||||
|
{ |
||||
|
"id": 2, |
||||
|
"title": "办公室久坐拉伸指南", |
||||
|
"description": "针对上班族的办公室拉伸动作,缓解颈椎腰椎疲劳。在办公环境拍摄,穿职业装,展示可以在工位完成的动作,强调不需要器械。", |
||||
|
"reference_author": "上班族健身", |
||||
|
"reference_description": "久坐一天腰酸背痛?这几个动作帮你缓解...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/xxxxx", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#上班族健身", "#办公室拉伸", "#久坐必看"], |
||||
|
"keywords": ["上班族", "久坐", "颈椎"] |
||||
|
}, |
||||
|
{ |
||||
|
"id": 3, |
||||
|
"title": "10分钟燃脂HIIT", |
||||
|
"description": "设计一套10分钟的HIIT训练,动作简单但高效燃脂。展示4-5个动作循环,配合节奏感强的音乐,显示卡路里消耗数据。", |
||||
|
"reference_author": "燃脂达人", |
||||
|
"reference_description": "10分钟高效燃脂,在家就能练!#HIIT训练...", |
||||
|
"url": "https://www.iesdouyin.com/share/user/xxxxx", |
||||
|
"platform": "抖音", |
||||
|
"tags": ["#HIIT", "#燃脂训练", "#居家运动"], |
||||
|
"keywords": ["燃脂", "HIIT", "高效"] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
💭 创作提示: |
||||
|
- 每个灵感都基于一个真实的热门视频,更容易获得流量 |
||||
|
- 动作要简单易学,适合健身新手 |
||||
|
- 配上动感音乐增加观看体验 |
||||
|
- 可以加入动作效果对比(坚持前后) |
||||
|
- 注意安全提示,避免运动损伤 |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
记住:你的目标是为用户提供基于真实热门视频的创作灵感,每个灵感都有明确的参考对象,让用户能够立即开始创作! |
||||
@ -0,0 +1,42 @@ |
|||||
|
# 抖音数据分析提示词 |
||||
|
|
||||
|
你是一个专业的抖音数据分析师,擅长分析短视频内容趋势、用户行为和热门话题。 |
||||
|
|
||||
|
## 分析任务 |
||||
|
|
||||
|
请根据提供的抖音视频数据,进行以下分析: |
||||
|
|
||||
|
### 1. 内容趋势分析 |
||||
|
- 识别热门话题和标签 |
||||
|
- 分析内容类型分布 |
||||
|
- 总结创作方向 |
||||
|
|
||||
|
### 2. 互动数据分析 |
||||
|
- 播放量、点赞、评论的整体表现 |
||||
|
- 识别高互动率的内容特征 |
||||
|
- 找出爆款视频的共同点 |
||||
|
|
||||
|
### 3. 创作者分析 |
||||
|
- 活跃创作者识别 |
||||
|
- 创作风格总结 |
||||
|
- 成功案例提炼 |
||||
|
|
||||
|
### 4. 热词分析 |
||||
|
- 提取高频热词 |
||||
|
- 分析热词与互动的关联 |
||||
|
- 推荐使用的热词组合 |
||||
|
|
||||
|
### 5. 实用建议 |
||||
|
- 基于数据给出3-5条创作建议 |
||||
|
- 推荐的内容方向 |
||||
|
- 需要注意的事项 |
||||
|
|
||||
|
## 输出格式 |
||||
|
|
||||
|
请以结构化的方式输出分析结果,包含: |
||||
|
- 数据概览 |
||||
|
- 详细分析 |
||||
|
- 关键发现 |
||||
|
- 实用建议 |
||||
|
|
||||
|
注意:分析要客观、数据驱动,建议要具体、可执行。 |
||||
@ -0,0 +1,63 @@ |
|||||
|
""" |
||||
|
快速测试创作灵感生成功能 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
from ai_agent import create_agent |
||||
|
|
||||
|
|
||||
|
async def quick_test(): |
||||
|
"""快速测试""" |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("创作灵感生成 - 快速测试") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
# 获取用户输入 |
||||
|
print("请输入你的创作需求(或直接回车使用示例):") |
||||
|
print("示例:我想做一些美食相关的短视频,主要是家常菜的制作教程") |
||||
|
print() |
||||
|
|
||||
|
user_input = input("你的需求: ").strip() |
||||
|
|
||||
|
if not user_input: |
||||
|
user_input = "我想做一些美食相关的短视频,主要是家常菜的制作教程" |
||||
|
print(f"使用示例需求: {user_input}") |
||||
|
|
||||
|
print("\n" + "=" * 80) |
||||
|
print("正在生成创作灵感...") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
try: |
||||
|
# 创建Agent |
||||
|
agent = create_agent() |
||||
|
|
||||
|
# 运行Agent |
||||
|
result = await agent.run( |
||||
|
user_input=user_input, |
||||
|
system_prompt_file="prompts/agent_prompt.md", |
||||
|
max_iterations=15 |
||||
|
) |
||||
|
|
||||
|
print("\n" + "=" * 80) |
||||
|
print("结果") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
if result["success"]: |
||||
|
print(result["final_answer"]) |
||||
|
print("\n" + "=" * 80) |
||||
|
print(f"✓ 成功!共调用了 {len(result['tool_calls'])} 个工具") |
||||
|
else: |
||||
|
print(f"✗ 失败: {result['error']}") |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"\n✗ 出错: {e}") |
||||
|
import traceback |
||||
|
traceback.print_exc() |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
asyncio.run(quick_test()) |
||||
@ -0,0 +1,7 @@ |
|||||
|
fastapi |
||||
|
uvicorn[standard] |
||||
|
pydantic |
||||
|
playwright |
||||
|
httpx |
||||
|
dashscope |
||||
|
python-dotenv |
||||
@ -0,0 +1,154 @@ |
|||||
|
""" |
||||
|
AI Agent 测试脚本 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
import os |
||||
|
from dotenv import load_dotenv |
||||
|
from ai_agent import create_agent |
||||
|
|
||||
|
# 加载环境变量 |
||||
|
load_dotenv() |
||||
|
|
||||
|
|
||||
|
async def test_agent(): |
||||
|
"""测试AI Agent""" |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("AI Agent 测试") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
# 测试用例 |
||||
|
test_cases = [ |
||||
|
{ |
||||
|
"name": "测试1:分析游戏类视频趋势", |
||||
|
"query": "帮我分析一下游戏类视频的热门趋势" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "测试2:美食创作建议", |
||||
|
"query": "我想做美食相关的内容,给我一些建议" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "测试3:特定关键词分析", |
||||
|
"query": "王者荣耀的视频现在什么内容最火?" |
||||
|
} |
||||
|
] |
||||
|
|
||||
|
# 选择要运行的测试 |
||||
|
print("可用的测试用例:") |
||||
|
for i, case in enumerate(test_cases, 1): |
||||
|
print(f"{i}. {case['name']}") |
||||
|
print() |
||||
|
|
||||
|
choice = input("请选择要运行的测试(输入数字,直接回车运行测试1): ").strip() |
||||
|
|
||||
|
if not choice: |
||||
|
choice = "1" |
||||
|
|
||||
|
try: |
||||
|
test_index = int(choice) - 1 |
||||
|
if test_index < 0 or test_index >= len(test_cases): |
||||
|
print("无效的选择,使用测试1") |
||||
|
test_index = 0 |
||||
|
except ValueError: |
||||
|
print("无效的输入,使用测试1") |
||||
|
test_index = 0 |
||||
|
|
||||
|
selected_test = test_cases[test_index] |
||||
|
|
||||
|
print("\n" + "=" * 80) |
||||
|
print(f"运行: {selected_test['name']}") |
||||
|
print("=" * 80) |
||||
|
print(f"\n用户查询: {selected_test['query']}\n") |
||||
|
|
||||
|
try: |
||||
|
# 创建Agent |
||||
|
print("正在初始化AI Agent...") |
||||
|
agent = create_agent() |
||||
|
print("✓ Agent初始化成功") |
||||
|
print() |
||||
|
|
||||
|
# 运行Agent |
||||
|
print("正在执行任务...\n") |
||||
|
result = await agent.run( |
||||
|
user_input=selected_test['query'], |
||||
|
system_prompt_file="prompts/agent_prompt.md", |
||||
|
max_iterations=10 |
||||
|
) |
||||
|
|
||||
|
print("\n" + "=" * 80) |
||||
|
print("执行结果") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print("\n" + result["final_answer"]) |
||||
|
print("\n" + "=" * 80) |
||||
|
print("执行统计") |
||||
|
print("=" * 80) |
||||
|
print(f"总迭代次数: {result['iteration']}") |
||||
|
print(f"工具调用次数: {len(result['tool_calls'])}") |
||||
|
|
||||
|
if result['tool_calls']: |
||||
|
print("\n工具调用详情:") |
||||
|
for i, call in enumerate(result['tool_calls'], 1): |
||||
|
print(f"\n {i}. {call['tool_name']}") |
||||
|
print(f" 迭代: {call['iteration']}") |
||||
|
print(f" 参数: {call['arguments']}") |
||||
|
if call['result'].get('success'): |
||||
|
print(f" 状态: ✓ 成功") |
||||
|
else: |
||||
|
print(f" 状态: ✗ 失败 - {call['result'].get('error')}") |
||||
|
|
||||
|
print("\n✓ 测试成功!") |
||||
|
else: |
||||
|
print(f"\n✗ 执行失败: {result['error']}") |
||||
|
if result.get('partial_result'): |
||||
|
print(f"\n部分结果:\n{result['partial_result']}") |
||||
|
|
||||
|
if result.get('tool_calls'): |
||||
|
print(f"\n已完成的工具调用: {len(result['tool_calls'])}") |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"\n✗ 测试出错: {e}") |
||||
|
import traceback |
||||
|
traceback.print_exc() |
||||
|
|
||||
|
|
||||
|
async def test_simple(): |
||||
|
"""简单测试""" |
||||
|
print("=" * 80) |
||||
|
print("AI Agent 简单测试") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
query = input("请输入你的查询(直接回车使用默认查询): ").strip() |
||||
|
|
||||
|
if not query: |
||||
|
query = "帮我分析一下游戏类视频的热门趋势" |
||||
|
print(f"使用默认查询: {query}") |
||||
|
|
||||
|
print() |
||||
|
|
||||
|
try: |
||||
|
agent = create_agent() |
||||
|
result = await agent.run(query, system_prompt_file="prompts/agent_prompt.md") |
||||
|
|
||||
|
if result["success"]: |
||||
|
print("\n" + "=" * 80) |
||||
|
print("结果") |
||||
|
print("=" * 80) |
||||
|
print(result["final_answer"]) |
||||
|
else: |
||||
|
print(f"\n执行失败: {result['error']}") |
||||
|
except Exception as e: |
||||
|
print(f"\n出错: {e}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
import sys |
||||
|
|
||||
|
if len(sys.argv) > 1 and sys.argv[1] == "--simple": |
||||
|
asyncio.run(test_simple()) |
||||
|
else: |
||||
|
asyncio.run(test_agent()) |
||||
@ -0,0 +1,170 @@ |
|||||
|
""" |
||||
|
AI分析功能测试脚本 |
||||
|
""" |
||||
|
|
||||
|
import os |
||||
|
import sys |
||||
|
from pathlib import Path |
||||
|
from dotenv import load_dotenv |
||||
|
|
||||
|
# 加载环境变量(从项目根目录) |
||||
|
env_path = Path(__file__).parent / '.env' |
||||
|
load_dotenv(dotenv_path=env_path) |
||||
|
|
||||
|
from ai_analyzer import AIAnalyzer |
||||
|
|
||||
|
|
||||
|
def test_analyze_sample_data(): |
||||
|
"""测试分析示例数据""" |
||||
|
|
||||
|
# 示例视频数据 |
||||
|
sample_videos = [ |
||||
|
{ |
||||
|
"index": 1, |
||||
|
"author": "游戏解说小王", |
||||
|
"description": "王者荣耀S35赛季上分攻略,这几个英雄必须会!#王者荣耀 #游戏攻略 #上分技巧", |
||||
|
"duration": "03:25", |
||||
|
"hot": "98.5万", |
||||
|
"plays": "150万", |
||||
|
"likes": "8.5万", |
||||
|
"comments": "3200", |
||||
|
"hotWords": ["上分", "新赛季", "英雄推荐"], |
||||
|
"hashTags": ["#王者荣耀", "#游戏攻略", "#上分技巧"] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 2, |
||||
|
"author": "电竞小姐姐", |
||||
|
"description": "原神新角色实测,伤害爆炸!#原神 #游戏测评", |
||||
|
"duration": "05:12", |
||||
|
"hot": "125万", |
||||
|
"plays": "200万", |
||||
|
"likes": "12万", |
||||
|
"comments": "5600", |
||||
|
"hotWords": ["新角色", "伤害测试", "抽卡"], |
||||
|
"hashTags": ["#原神", "#游戏测评"] |
||||
|
}, |
||||
|
{ |
||||
|
"index": 3, |
||||
|
"author": "游戏日常", |
||||
|
"description": "和平精英新地图探索,这些点位太强了!#和平精英 #吃鸡游戏", |
||||
|
"duration": "04:30", |
||||
|
"hot": "76万", |
||||
|
"plays": "120万", |
||||
|
"likes": "6.2万", |
||||
|
"comments": "2100", |
||||
|
"hotWords": ["新地图", "点位", "战术"], |
||||
|
"hashTags": ["#和平精英", "#吃鸡游戏"] |
||||
|
} |
||||
|
] |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("AI分析功能测试") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
# 检查API Key |
||||
|
api_key = os.getenv("DASHSCOPE_API_KEY") |
||||
|
if not api_key: |
||||
|
print("⚠ 警告:未设置DASHSCOPE_API_KEY环境变量") |
||||
|
print("请在 .env 文件中配置API Key,或者:") |
||||
|
print(" export DASHSCOPE_API_KEY=your_api_key") |
||||
|
print() |
||||
|
return |
||||
|
|
||||
|
print(f"✓ API Key已配置(前8位): {api_key[:8]}...") |
||||
|
print() |
||||
|
|
||||
|
try: |
||||
|
# 创建分析器 |
||||
|
print("正在初始化AI分析器...") |
||||
|
analyzer = AIAnalyzer(model="qwen-plus") |
||||
|
print("✓ 分析器初始化成功") |
||||
|
print() |
||||
|
|
||||
|
# 分析数据 |
||||
|
print("正在分析示例数据...") |
||||
|
print(f" 视频数量: {len(sample_videos)}") |
||||
|
print(f" 使用模型: qwen-plus") |
||||
|
print(f" 提示词文件: prompts/analyze_prompt.md") |
||||
|
print() |
||||
|
|
||||
|
result = analyzer.analyze( |
||||
|
videos=sample_videos, |
||||
|
prompt_file="prompts/analyze_prompt.md", |
||||
|
custom_instruction="重点分析游戏类视频的爆款特征和创作建议" |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print("=" * 80) |
||||
|
print("分析结果:") |
||||
|
print("=" * 80) |
||||
|
print(result["analysis"]) |
||||
|
print() |
||||
|
print("=" * 80) |
||||
|
print("统计信息:") |
||||
|
print("=" * 80) |
||||
|
print(f" 视频数量: {result['video_count']}") |
||||
|
print(f" 使用模型: {result['model']}") |
||||
|
print(f" 输入Token: {result['usage']['input_tokens']}") |
||||
|
print(f" 输出Token: {result['usage']['output_tokens']}") |
||||
|
print(f" 总Token: {result['usage']['total_tokens']}") |
||||
|
print() |
||||
|
print("✓ 测试成功!") |
||||
|
else: |
||||
|
print(f"✗ 分析失败: {result['error']}") |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"✗ 测试出错: {e}") |
||||
|
import traceback |
||||
|
traceback.print_exc() |
||||
|
|
||||
|
|
||||
|
def test_analyze_from_file(): |
||||
|
"""测试从文件分析""" |
||||
|
|
||||
|
print("\n" + "=" * 80) |
||||
|
print("测试从文件分析") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
# 查找可用的JSON文件 |
||||
|
data_dir = "douyin_data_soupce/douyin_data" |
||||
|
if not os.path.exists(data_dir): |
||||
|
print(f"⚠ 数据目录不存在: {data_dir}") |
||||
|
return |
||||
|
|
||||
|
json_files = [f for f in os.listdir(data_dir) if f.endswith('.json')] |
||||
|
if not json_files: |
||||
|
print(f"⚠ 未找到JSON数据文件") |
||||
|
return |
||||
|
|
||||
|
# 使用第一个JSON文件 |
||||
|
json_file = os.path.join(data_dir, json_files[0]) |
||||
|
print(f"使用文件: {json_file}") |
||||
|
print() |
||||
|
|
||||
|
try: |
||||
|
analyzer = AIAnalyzer(model="qwen-plus") |
||||
|
|
||||
|
result = analyzer.analyze_from_file( |
||||
|
json_file=json_file, |
||||
|
prompt_file="prompts/analyze_prompt.md" |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print("✓ 文件分析成功") |
||||
|
print(f" 视频数量: {result['video_count']}") |
||||
|
print(f" Token消耗: {result['usage']['total_tokens']}") |
||||
|
else: |
||||
|
print(f"✗ 分析失败: {result['error']}") |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"✗ 测试出错: {e}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
# 测试1:分析示例数据 |
||||
|
test_analyze_sample_data() |
||||
|
|
||||
|
# 测试2:从文件分析(可选) |
||||
|
# test_analyze_from_file() |
||||
@ -0,0 +1,48 @@ |
|||||
|
""" |
||||
|
测试AI智能分类功能 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
import os |
||||
|
from dotenv import load_dotenv |
||||
|
from ai_agent import extract_search_keywords |
||||
|
|
||||
|
# 加载环境变量 |
||||
|
load_dotenv() |
||||
|
|
||||
|
|
||||
|
async def test_classification(): |
||||
|
"""测试AI分类功能""" |
||||
|
|
||||
|
test_cases = [ |
||||
|
"我想做一些美食相关的短视频,主要是家常菜的制作教程", |
||||
|
"我想拍一些关于大学生活的有趣视频,记录校园日常", |
||||
|
"我想做一些关于健身的短视频,分享简单的居家锻炼方法", |
||||
|
"想拍一些旅游vlog,记录旅行中的美好瞬间", |
||||
|
"我想做游戏解说视频", |
||||
|
"想做一些汽车评测的内容", |
||||
|
"我想做短视频,但不知道拍什么" |
||||
|
] |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("AI智能分类测试") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
for i, query in enumerate(test_cases, 1): |
||||
|
print(f"\n测试 {i}:") |
||||
|
print(f"用户输入: {query}") |
||||
|
|
||||
|
result = extract_search_keywords(query) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print(f"✓ 分类成功") |
||||
|
print(f" - 主分类: {result['primary_category']}") |
||||
|
print(f" - 分类方法: {result['method']}") |
||||
|
else: |
||||
|
print(f"✗ 分类失败") |
||||
|
|
||||
|
print("-" * 80) |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
asyncio.run(test_classification()) |
||||
@ -0,0 +1,108 @@ |
|||||
|
""" |
||||
|
API接口测试脚本 |
||||
|
""" |
||||
|
|
||||
|
import requests |
||||
|
import json |
||||
|
|
||||
|
|
||||
|
def test_agent_api(): |
||||
|
"""测试Agent API""" |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("API接口测试") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
# API地址 |
||||
|
url = "http://localhost:8001/api/agent" |
||||
|
|
||||
|
# 测试用例 |
||||
|
test_cases = [ |
||||
|
{ |
||||
|
"name": "美食类内容", |
||||
|
"query": "我想做一些美食相关的短视频,主要是家常菜的制作教程" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "校园类内容", |
||||
|
"query": "我想拍一些关于大学生活的有趣视频,记录校园日常" |
||||
|
}, |
||||
|
{ |
||||
|
"name": "健身类内容", |
||||
|
"query": "我想做一些关于健身的短视频,分享简单的居家锻炼方法" |
||||
|
} |
||||
|
] |
||||
|
|
||||
|
# 选择测试用例 |
||||
|
print("可用的测试用例:") |
||||
|
for i, case in enumerate(test_cases, 1): |
||||
|
print(f"{i}. {case['name']}: {case['query']}") |
||||
|
print() |
||||
|
|
||||
|
choice = input("选择测试用例(1-3,直接回车选择1): ").strip() |
||||
|
|
||||
|
if not choice: |
||||
|
choice = "1" |
||||
|
|
||||
|
try: |
||||
|
test_index = int(choice) - 1 |
||||
|
if test_index < 0 or test_index >= len(test_cases): |
||||
|
test_index = 0 |
||||
|
except ValueError: |
||||
|
test_index = 0 |
||||
|
|
||||
|
selected_test = test_cases[test_index] |
||||
|
|
||||
|
print(f"\n测试: {selected_test['name']}") |
||||
|
print(f"查询: {selected_test['query']}") |
||||
|
print() |
||||
|
|
||||
|
# 构建请求 |
||||
|
payload = { |
||||
|
"query": selected_test['query'], |
||||
|
"max_iterations": 15 |
||||
|
} |
||||
|
|
||||
|
print("正在调用API...") |
||||
|
print(f"URL: {url}") |
||||
|
print(f"Payload: {json.dumps(payload, ensure_ascii=False, indent=2)}") |
||||
|
print() |
||||
|
|
||||
|
try: |
||||
|
# 发送请求 |
||||
|
response = requests.post(url, json=payload, timeout=300) |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("响应") |
||||
|
print("=" * 80) |
||||
|
print() |
||||
|
|
||||
|
if response.status_code == 200: |
||||
|
result = response.json() |
||||
|
|
||||
|
if result.get("success"): |
||||
|
print("✓ 成功!") |
||||
|
print() |
||||
|
print(result.get("final_answer", "")) |
||||
|
print() |
||||
|
print(f"迭代次数: {result.get('iteration')}") |
||||
|
print(f"工具调用: {len(result.get('tool_calls', []))}") |
||||
|
else: |
||||
|
print("✗ 失败") |
||||
|
print(f"错误: {result.get('error')}") |
||||
|
else: |
||||
|
print(f"✗ HTTP错误: {response.status_code}") |
||||
|
print(response.text) |
||||
|
|
||||
|
except requests.exceptions.ConnectionError: |
||||
|
print("✗ 连接失败") |
||||
|
print() |
||||
|
print("请确保API服务已启动:") |
||||
|
print(" python api.py") |
||||
|
print() |
||||
|
except Exception as e: |
||||
|
print(f"✗ 出错: {e}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
test_agent_api() |
||||
@ -0,0 +1,35 @@ |
|||||
|
""" |
||||
|
测试分类点击功能 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
from ai_agent import get_creative_guidance |
||||
|
|
||||
|
|
||||
|
async def test_category(): |
||||
|
"""测试不同分类""" |
||||
|
|
||||
|
categories = ["校园", "美食", "游戏", "全部"] |
||||
|
|
||||
|
for category in categories: |
||||
|
print("=" * 80) |
||||
|
print(f"测试分类: {category}") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
result = await get_creative_guidance(category=category) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print(f"✓ 成功获取数据") |
||||
|
print(f" - 分类: {result['category']}") |
||||
|
print(f" - 视频数量: {result['total_count']}") |
||||
|
if result['total_count'] > 0: |
||||
|
print(f" - 第一个视频作者: {result['videos'][0]['author']}") |
||||
|
print(f" - 第一个视频描述: {result['videos'][0]['description'][:50]}...") |
||||
|
else: |
||||
|
print(f"✗ 获取失败: {result.get('error')}") |
||||
|
|
||||
|
print() |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
asyncio.run(test_category()) |
||||
@ -0,0 +1,80 @@ |
|||||
|
""" |
||||
|
测试JSON格式的灵感输出 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
import json |
||||
|
from ai_agent import create_agent |
||||
|
|
||||
|
|
||||
|
async def test_json_format(): |
||||
|
"""测试JSON格式输出""" |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("测试JSON格式的创作灵感生成") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
# 创建Agent |
||||
|
agent = create_agent() |
||||
|
|
||||
|
# 测试查询 |
||||
|
query = "我想做一些校园相关的短视频" |
||||
|
|
||||
|
print(f"\n用户查询: {query}\n") |
||||
|
print("正在生成灵感...\n") |
||||
|
|
||||
|
# 运行Agent |
||||
|
result = await agent.run( |
||||
|
user_input=query, |
||||
|
system_prompt_file="prompts/agent_prompt.md", |
||||
|
max_iterations=15 |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print("✓ 执行成功\n") |
||||
|
print("=" * 80) |
||||
|
print("最终答案:") |
||||
|
print("=" * 80) |
||||
|
print(result["final_answer"]) |
||||
|
print("\n" + "=" * 80) |
||||
|
|
||||
|
# 尝试从答案中提取JSON |
||||
|
import re |
||||
|
json_match = re.search(r'```json\s*(.*?)\s*```', result["final_answer"], re.DOTALL) |
||||
|
if json_match: |
||||
|
try: |
||||
|
json_data = json.loads(json_match.group(1)) |
||||
|
print("\n✓ JSON格式验证成功") |
||||
|
print(f"✓ 生成了 {len(json_data.get('inspirations', []))} 个灵感") |
||||
|
|
||||
|
# 显示第一个灵感作为示例 |
||||
|
if json_data.get('inspirations'): |
||||
|
first = json_data['inspirations'][0] |
||||
|
print("\n示例灵感:") |
||||
|
print(json.dumps(first, ensure_ascii=False, indent=2)) |
||||
|
|
||||
|
# 验证字段 |
||||
|
required_fields = ['id', 'title', 'description', 'reference_author', |
||||
|
'reference_description', 'url', 'platform', 'tags', 'keywords'] |
||||
|
missing_fields = [f for f in required_fields if f not in first] |
||||
|
|
||||
|
if missing_fields: |
||||
|
print(f"\n✗ 缺少字段: {', '.join(missing_fields)}") |
||||
|
else: |
||||
|
print("\n✓ 所有必需字段都存在") |
||||
|
|
||||
|
except json.JSONDecodeError as e: |
||||
|
print(f"\n✗ JSON解析失败: {e}") |
||||
|
else: |
||||
|
print("\n✗ 未找到JSON格式的输出") |
||||
|
|
||||
|
else: |
||||
|
print(f"✗ 执行失败: {result.get('error')}") |
||||
|
if result.get('tool_calls'): |
||||
|
print(f"\n工具调用记录:") |
||||
|
for call in result['tool_calls']: |
||||
|
print(f" - {call['tool_name']}: {call.get('result', {}).get('success', 'N/A')}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
asyncio.run(test_json_format()) |
||||
@ -0,0 +1,83 @@ |
|||||
|
""" |
||||
|
测试URL返回功能 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
import json |
||||
|
import re |
||||
|
from ai_agent import create_agent |
||||
|
|
||||
|
|
||||
|
async def test_url_return(): |
||||
|
"""测试灵感中是否包含URL""" |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print("测试URL返回功能") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
# 创建Agent |
||||
|
agent = create_agent() |
||||
|
|
||||
|
# 测试查询 |
||||
|
query = "我想做一些校园相关的短视频" |
||||
|
|
||||
|
print(f"\n用户查询: {query}\n") |
||||
|
print("正在生成灵感...\n") |
||||
|
|
||||
|
# 运行Agent |
||||
|
result = await agent.run( |
||||
|
user_input=query, |
||||
|
system_prompt_file="prompts/agent_prompt.md", |
||||
|
max_iterations=15 |
||||
|
) |
||||
|
|
||||
|
if result["success"]: |
||||
|
print("✓ 执行成功\n") |
||||
|
|
||||
|
# 提取JSON |
||||
|
json_match = re.search(r'```json\s*(.*?)\s*```', result["final_answer"], re.DOTALL) |
||||
|
if json_match: |
||||
|
try: |
||||
|
data = json.loads(json_match.group(1)) |
||||
|
inspirations = data.get('inspirations', []) |
||||
|
|
||||
|
print(f"✓ 生成了 {len(inspirations)} 个灵感\n") |
||||
|
|
||||
|
# 检查每个灵感是否包含URL |
||||
|
url_count = 0 |
||||
|
for i, inspiration in enumerate(inspirations, 1): |
||||
|
has_url = 'url' in inspiration and inspiration['url'] |
||||
|
url_valid = has_url and inspiration['url'] != 'N/A' and 'http' in inspiration['url'] |
||||
|
|
||||
|
print(f"灵感 {i}:") |
||||
|
print(f" - 标题: {inspiration.get('title', 'N/A')}") |
||||
|
print(f" - 作者: {inspiration.get('reference_author', 'N/A')}") |
||||
|
print(f" - URL: {inspiration.get('url', 'N/A')}") |
||||
|
|
||||
|
if url_valid: |
||||
|
print(f" ✓ URL有效") |
||||
|
url_count += 1 |
||||
|
else: |
||||
|
print(f" ✗ URL缺失或无效") |
||||
|
print() |
||||
|
|
||||
|
print("=" * 80) |
||||
|
print(f"总结: {url_count}/{len(inspirations)} 个灵感包含有效的URL") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
if url_count == len(inspirations): |
||||
|
print("\n✓ 所有灵感都包含有效的URL!") |
||||
|
else: |
||||
|
print(f"\n✗ 有 {len(inspirations) - url_count} 个灵感缺少有效的URL") |
||||
|
|
||||
|
except json.JSONDecodeError as e: |
||||
|
print(f"\n✗ JSON解析失败: {e}") |
||||
|
else: |
||||
|
print("\n✗ 未找到JSON格式的输出") |
||||
|
|
||||
|
else: |
||||
|
print(f"✗ 执行失败: {result.get('error')}") |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
asyncio.run(test_url_return()) |
||||
@ -0,0 +1,69 @@ |
|||||
|
""" |
||||
|
简单测试URL是否正确返回 |
||||
|
""" |
||||
|
|
||||
|
import asyncio |
||||
|
from ai_agent import get_creative_guidance, generate_creative_inspirations |
||||
|
|
||||
|
|
||||
|
async def test(): |
||||
|
print("=" * 80) |
||||
|
print("测试URL返回") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
# 获取校园分类的视频数据 |
||||
|
print("\n1. 获取视频数据...") |
||||
|
result = await get_creative_guidance(category="校园") |
||||
|
|
||||
|
if not result["success"]: |
||||
|
print(f"✗ 获取数据失败: {result.get('error')}") |
||||
|
return |
||||
|
|
||||
|
print(f"✓ 获取到 {result['total_count']} 个视频") |
||||
|
|
||||
|
# 显示前3个视频的authorLink |
||||
|
print("\n2. 视频数据中的authorLink:") |
||||
|
for i, video in enumerate(result['videos'][:3], 1): |
||||
|
print(f" 视频{i}: {video.get('author')} - {video.get('authorLink', 'N/A')[:60]}...") |
||||
|
|
||||
|
# 生成灵感 |
||||
|
print("\n3. 生成灵感...") |
||||
|
inspiration_result = generate_creative_inspirations( |
||||
|
videos=result['videos'], |
||||
|
user_query="我想做一些校园相关的短视频", |
||||
|
count=3 # 只生成3个用于测试 |
||||
|
) |
||||
|
|
||||
|
if not inspiration_result["success"]: |
||||
|
print(f"✗ 生成灵感失败: {inspiration_result.get('error')}") |
||||
|
return |
||||
|
|
||||
|
print(f"✓ 生成了 {len(inspiration_result['inspirations'])} 个灵感") |
||||
|
|
||||
|
# 检查URL |
||||
|
print("\n4. 检查灵感中的URL:") |
||||
|
all_valid = True |
||||
|
for i, inspiration in enumerate(inspiration_result['inspirations'], 1): |
||||
|
url = inspiration.get('url', 'N/A') |
||||
|
is_valid = url != 'N/A' and 'http' in url |
||||
|
|
||||
|
print(f" 灵感{i}:") |
||||
|
print(f" - 标题: {inspiration.get('title')}") |
||||
|
print(f" - 作者: {inspiration.get('reference_author')}") |
||||
|
print(f" - URL: {url[:60]}...") |
||||
|
print(f" - 状态: {'✓ 有效' if is_valid else '✗ 无效'}") |
||||
|
print() |
||||
|
|
||||
|
if not is_valid: |
||||
|
all_valid = False |
||||
|
|
||||
|
print("=" * 80) |
||||
|
if all_valid: |
||||
|
print("✓ 所有灵感都包含有效的URL!") |
||||
|
else: |
||||
|
print("✗ 部分灵感的URL无效") |
||||
|
print("=" * 80) |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
asyncio.run(test()) |
||||
Loading…
Reference in new issue