e2b23510a54205c14470c45dbafaae0bf7770f03
autoLogon - 自动登录应用
项目简介
autoLogon是一个自动化网站登录工具,可以帮助用户自动登录多个网站并维护登录状态。该应用通过配置文件管理网站信息,支持使用cookies维持登录会话,并能自动保存和更新cookies。
主要功能
- 自动打开配置的多个网站并设置cookies
- 支持cookies管理,自动保存和更新会话信息
- 可自定义保持登录时间
- 支持自动退出浏览器功能
- 完整的日志记录系统
项目结构
autoLogon/
├── main.py # 应用主入口
├── login_manager.py # 登录管理器
├── config.py # 配置管理器
├── logger_config.py # 日志配置
├── config.json # 配置文件
├── requirements.txt # 依赖列表
└── log/ # 日志文件夹
核心文件说明
main.py
应用的主入口文件,包含AutoLoginApp类,负责初始化各个管理器并协调它们的工作流程,包括加载配置、处理网站列表、执行登录操作等。
login_manager.py
登录管理器,封装了与浏览器相关的操作,负责网站登录、cookies设置与获取、保持登录状态等功能。使用DrissionPage库实现浏览器自动化。
config.py
配置管理器,负责加载、保存和管理应用配置,包括网站列表、浏览器路径等信息。
logger_config.py
日志配置模块,设置全局日志记录器,支持文件和控制台双重输出。
config.json
应用配置文件,使用JSON格式存储,包含以下主要配置项:
sites:网站配置列表browser_path:浏览器可执行文件路径
配置文件格式
{
"duration": 30,
"AutoQuit": true,
"sites": [
{
"name": "网站名称",
"url": "网站URL",
"cookies": [
{
"name": "cookie名称",
"value": "cookie值",
"domain": "域名",
"path": "/",
"expires": 0,
"secure": false,
"httpOnly": false
}
]
}
]
}
配置项说明:
duration: 保持登录状态的时间(秒)AutoQuit: 是否在完成后自动退出浏览器(true/false)sites: 网站配置列表,每个网站包含:name: 网站名称(用于标识网站)url: 网站URL地址cookies: cookies列表,用于自动登录
安装依赖
使用以下命令安装项目依赖:
pip install -r requirements.txt
使用方法
- 确保已安装所有依赖
- 配置
config.json文件,添加需要自动登录的网站信息 - 运行主程序:
python main.py
工作流程
- 加载配置文件
- 为所有配置的网站创建标签页并访问URL
- 为每个网站设置cookies(如果配置了)
- 保持登录状态指定时间(根据配置的duration)
- 获取所有页面更新后的cookies
- 保存更新后的cookies到配置文件
- 根据AutoQuit配置决定是否自动关闭浏览器
注意事项
- 确保浏览器路径正确配置,默认使用Edge浏览器
- 配置文件中的
duration参数表示处理每个网站时的延时时间(秒),默认30秒 - 首次运行时,应用会为没有cookies的网站创建空的cookies配置
- 日志文件保存在
log目录下,按日期命名
故障排除
- 如遇浏览器启动失败,请检查
browser_path配置是否正确 - 如遇登录失败,检查网站URL是否正确,以及cookies格式是否符合要求
- 查看日志文件了解详细的错误信息
扩展建议
- 增加对更多浏览器的支持
- 添加自动识别登录状态的功能
- 实现定时任务功能,定期执行自动登录
- 添加图形用户界面进行配置管理
Languages
Python
100%