Files
AutoLogon/开发文档.md
T
2025-10-18 16:12:56 +08:00

132 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 自动登录网站并管理Cookies项目开发文档
## 1. 项目概述
本项目使用Python语言和DrissionPage库开发一个自动化脚本,用于按顺序登录多个网站,保持登录状态一段时间后保存更新的cookies,并关闭网站。
## 2. 功能需求
- 从配置文件读取网站地址和对应的cookies信息
- 按顺序登录每个网站
- 登录成功后保持登录状态2分钟
- 保存更新后的cookies信息
- 关闭网站
## 3. 技术栈
- Python 3.8+
- DrissionPage库
- JSON/YAML用于配置文件格式
## 4. 项目结构
```
autoLogon/
├── config.py # 配置文件处理模块
├── login_manager.py # 登录管理模块
├── cookie_handler.py # Cookies处理模块
├── main.py # 主程序入口
├── config.json # 配置文件(存储网站和cookies信息)
├── requirements.txt # 依赖包列表
└── README.md # 项目说明文档
```
## 5. 模块设计
### 5.1 配置文件处理模块 (config.py)
**功能**:负责读取和写入配置文件中的网站地址和cookies信息
**主要函数**
- `load_config(file_path)`: 加载配置文件
- `save_config(config_data, file_path)`: 保存配置文件
### 5.2 Cookies处理模块 (cookie_handler.py)
**功能**:负责cookies的管理,包括解析、转换和保存
**主要函数**
- `parse_cookies(cookie_str)`: 解析cookies字符串为字典格式
- `cookies_to_str(cookies_dict)`: 将cookies字典转换为字符串
- `save_cookies(site_url, cookies, config_manager)`: 保存网站的cookies到配置文件
### 5.3 登录管理模块 (login_manager.py)
**功能**:负责网站的登录和维护登录状态
**主要函数**
- `login_to_site(browser, site_url, cookies)`: 使用提供的cookies登录网站
- `verify_login(browser)`: 验证是否登录成功
- `maintain_session(browser, duration=120)`: 保持登录状态指定时间
### 5.4 主程序模块 (main.py)
**功能**:程序入口,协调各模块工作
**主要流程**
1. 初始化配置管理器
2. 加载配置文件
3. 初始化浏览器
4. 遍历每个网站配置
5. 调用登录管理模块登录网站
6. 保持登录状态
7. 更新并保存cookies
8. 关闭浏览器
## 6. 配置文件格式 (JSON)
```json
{
"sites": [
{
"name": "网站A",
"url": "https://example.com",
"cookies": {
"cookie1": "value1",
"cookie2": "value2"
}
},
{
"name": "网站B",
"url": "https://example2.com",
"cookies": {
"cookie3": "value3",
"cookie4": "value4"
}
}
]
}
```
## 7. 依赖安装
```bash
pip install drissionpage
```
## 8. 实现步骤
1. 创建项目目录结构
2. 编写配置文件处理模块
3. 编写Cookies处理模块
4. 编写登录管理模块
5. 编写主程序模块
6. 创建配置文件示例
7. 测试各个模块
8. 整合测试
## 9. 注意事项
- 确保使用正确的cookies格式
- 处理可能的登录失败情况
- 考虑网站的反爬机制
- 妥善保存配置文件,避免敏感信息泄露
- 处理网络异常和超时情况
## 10. 扩展功能建议
- 添加日志记录功能
- 实现登录失败重试机制
- 添加多线程或异步支持以提高效率
- 实现定时任务功能
- 添加GUI界面便于操作