Features: - Douyin play count scraper using Selenium + Chrome DevTools Protocol - Automated scheduler for daily data collection - MongoDB data storage - Mini-program API server - Data analysis and visualization tools 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
190 lines
5.3 KiB
Markdown
190 lines
5.3 KiB
Markdown
# 抖音播放量自动更新定时任务配置说明
|
||
|
||
## 概述
|
||
本文档详细说明如何配置Windows任务计划程序,实现每天晚上24:00(凌晨0点)自动运行抖音播放量抓取脚本。
|
||
|
||
## 前置条件
|
||
|
||
### 1. 确保MongoDB服务已安装并配置为自动启动
|
||
- 下载并安装MongoDB Community Server
|
||
- 配置MongoDB服务为自动启动:
|
||
```cmd
|
||
sc config MongoDB start= auto
|
||
```
|
||
|
||
### 2. 确保Python环境正确
|
||
- Python 3.7+ 已安装
|
||
- 所需依赖包已安装:
|
||
```cmd
|
||
pip install selenium pymongo webdriver-manager
|
||
```
|
||
|
||
### 3. 浏览器登录状态保持
|
||
- **重要**:首次运行前,需要手动运行脚本并登录抖音账号
|
||
- 登录后,浏览器会保存登录状态到 `chrome_profile` 目录
|
||
- 自动模式将使用已保存的登录状态
|
||
|
||
## 配置步骤
|
||
|
||
### 步骤1:创建日志目录
|
||
在脚本目录下创建 `logs` 文件夹:
|
||
```cmd
|
||
mkdir c:\Users\EDY\Desktop\test\logs
|
||
```
|
||
|
||
### 步骤2:测试批处理脚本
|
||
手动运行批处理脚本测试:
|
||
```cmd
|
||
cd c:\Users\EDY\Desktop\test
|
||
auto_update_douyin.bat
|
||
```
|
||
|
||
### 步骤3:打开任务计划程序
|
||
1. 按 `Win + R`,输入 `taskschd.msc`,回车
|
||
2. 或者在开始菜单搜索"任务计划程序"
|
||
|
||
### 步骤4:创建基本任务
|
||
1. 在右侧操作面板点击"创建基本任务"
|
||
2. 输入任务名称:`抖音播放量自动更新`
|
||
3. 输入描述:`每天凌晨0点自动抓取抖音收藏合集播放量数据`
|
||
|
||
### 步骤5:设置触发器
|
||
1. 选择"每天"
|
||
2. 设置开始时间:`22:00:00`(晚上10点)
|
||
3. 设置开始日期:选择明天的日期
|
||
4. 重复间隔:`每 1 天`
|
||
|
||
### 步骤6:设置操作
|
||
1. 选择"启动程序"
|
||
2. 程序或脚本:`c:\Users\EDY\Desktop\test\auto_update_douyin.bat`
|
||
3. 添加参数:`--silent`
|
||
4. 起始于:`c:\Users\EDY\Desktop\test`
|
||
|
||
### 步骤7:高级设置
|
||
1. 勾选"如果任务失败,重新启动"
|
||
2. 设置重新启动间隔:`5分钟`
|
||
3. 设置重新启动次数:`3次`
|
||
4. 勾选"如果请求后任务还在运行,强行将其停止"
|
||
5. 设置停止任务时间:`2小时`
|
||
|
||
### 步骤8:条件设置
|
||
1. 取消勾选"只有在计算机使用交流电源时才启动此任务"
|
||
2. 勾选"唤醒计算机运行此任务"
|
||
3. 勾选"如果任务运行时间超过以下时间,则停止任务:2小时"
|
||
|
||
## 文件结构
|
||
```
|
||
c:\Users\EDY\Desktop\test\
|
||
├── douyin_playcount_scraper.py # 主抓取脚本
|
||
├── auto_update_douyin.bat # 批处理启动脚本
|
||
├── query_mongodb_data.py # 数据查询脚本
|
||
├── chrome_profile\ # 浏览器配置文件目录
|
||
├── logs\ # 日志文件目录
|
||
│ ├── auto_update_20241215.log # 每日日志文件
|
||
│ └── ...
|
||
├── douyin_collection_data.json # JSON数据文件
|
||
├── douyin_collection_playcounts.txt # TXT格式数据文件
|
||
└── 定时任务配置说明.md # 本说明文档
|
||
```
|
||
|
||
## 日志文件说明
|
||
|
||
### 日志位置
|
||
- 批处理日志:`logs\auto_update_YYYYMMDD.log`
|
||
- Python程序日志:同一文件,包含详细的执行信息
|
||
|
||
### 日志内容
|
||
- 任务开始和结束时间
|
||
- MongoDB连接状态
|
||
- 数据抓取进度
|
||
- 文件保存结果
|
||
- 错误信息(如有)
|
||
|
||
## 数据存储说明
|
||
|
||
### MongoDB数据结构
|
||
```json
|
||
{
|
||
"batch_id": "20241215_000000_abc123",
|
||
"batch_time": "2024-12-15 00:00:00",
|
||
"name": "剧本名称",
|
||
"playcount": "1.2万",
|
||
"playcount_raw": 12000
|
||
}
|
||
```
|
||
|
||
### 数据特点
|
||
- 每次运行生成新的批次ID
|
||
- 最新数据排在前面(按时间倒序)
|
||
- 历史数据完整保留
|
||
- 支持按剧本名称搜索历史数据
|
||
|
||
## 故障排除
|
||
|
||
### 常见问题
|
||
|
||
#### 1. MongoDB连接失败
|
||
**症状**:日志显示"MongoDB连接失败"
|
||
**解决方案**:
|
||
```cmd
|
||
# 检查MongoDB服务状态
|
||
sc query MongoDB
|
||
|
||
# 启动MongoDB服务
|
||
net start MongoDB
|
||
```
|
||
|
||
#### 2. 浏览器登录失效
|
||
**症状**:抓取失败,提示需要登录
|
||
**解决方案**:
|
||
1. 手动运行脚本:`python douyin_playcount_scraper.py`
|
||
2. 重新登录抖音账号
|
||
3. 登录状态会自动保存到 `chrome_profile` 目录
|
||
|
||
#### 3. Python环境问题
|
||
**症状**:批处理脚本报错"Python未安装"
|
||
**解决方案**:
|
||
1. 确认Python已安装:`python --version`
|
||
2. 确认Python在系统PATH中
|
||
3. 重新安装依赖:`pip install -r requirements.txt`
|
||
|
||
#### 4. 权限问题
|
||
**症状**:任务计划程序无法执行
|
||
**解决方案**:
|
||
1. 以管理员身份运行任务计划程序
|
||
2. 设置任务以最高权限运行
|
||
3. 确保用户账户有足够权限
|
||
|
||
### 监控和维护
|
||
|
||
#### 查看任务执行历史
|
||
1. 打开任务计划程序
|
||
2. 找到"抖音播放量自动更新"任务
|
||
3. 查看"历史记录"选项卡
|
||
|
||
#### 查看数据抓取结果
|
||
运行查询脚本:
|
||
```cmd
|
||
python query_mongodb_data.py
|
||
```
|
||
|
||
#### 手动测试
|
||
定期手动运行测试:
|
||
```cmd
|
||
python douyin_playcount_scraper.py --auto-mode
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
1. **网络连接**:确保计算机在凌晨0点时有稳定的网络连接
|
||
2. **电源管理**:建议设置计算机不要在夜间自动休眠
|
||
3. **防火墙**:确保防火墙不会阻止浏览器和MongoDB的网络访问
|
||
4. **磁盘空间**:定期清理旧的日志文件,避免占用过多磁盘空间
|
||
5. **数据备份**:建议定期备份MongoDB数据库
|
||
|
||
## 联系支持
|
||
如遇到问题,请检查:
|
||
1. 日志文件中的错误信息
|
||
2. 任务计划程序的执行历史
|
||
3. MongoDB服务状态
|
||
4. 网络连接状态 |