# 抖音播放量自动更新定时任务配置说明

## 概述
本文档详细说明如何配置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. 网络连接状态