* 戳上方蓝字「 开源先锋 」关注我
推荐阅读:
大家好,我是开源君!
小伙伴们五一的票都抢好了吗?
今天开源君分享一个Python抢票神器 -
py12306
,说不定对你有帮助。
项目简介
py12306
是一款基于 Python 开发的功能强大、易于使用的 12306 购票助手开源项目,拥有以下核心功能:
多日期查询余票:支持查询指定日期范围内的车票余票信息,方便您安排出行计划。
自动打码下单:集成打码平台,自动识别验证码,快速完成购票操作。
用户状态恢复:自动恢复用户登录状态,免去重复登录的烦恼。
电话语音通知:支持电话语音通知,及时获知购票结果。
多账号、多任务、多线程支持:支持多个账号同时购票,多个任务同时运行,并支持多线程处理,大幅提升购票效率。
单个任务多站点查询:支持单个任务查询多个车站之间的车票信息,方便您比较不同车次和价格。
分布式运行:支持分布式部署,可将购票任务分配到多台服务器上运行,进一步提升处理能力。
Docker 支持:支持 Docker 容器化部署,方便您快速搭建运行环境。
动态修改配置文件:支持动态修改配置文件,无需重启程序即可生效,方便您调整参数。
邮件通知:支持邮件通知,将购票结果发送到指定邮箱。
Web 管理页面:提供 Web 管理页面,方便您直观地管理账号、任务、设置等信息。
微信消息通知:支持微信消息通知,将购票结果发送到微信。
代理池支持:支持代理池,可以有效提高网络请求的稳定性和速度。
目前在 Github 上面已经赢得了超过 14k 用户的喜爱和点赞。
项目特性
它拥有以下特点:
功能强大:涵盖了购票流程的各个环节,能够满足您的多样化购票需求。
效率高:支持多账号、多任务、多线程运行,并支持分布式部署,能够显著提升购票效率。
易于使用:提供详细的使用指南和丰富的示例代码,即使是新手也能快速上手。
可扩展性强:支持自定义扩展,您可以根据自己的需求添加新功能或修改现有功能。
开源免费:py12306 是开源项目,免费提供使用,可以自由下载、修改和分发。
安装使用
需要先准备 python 3.6 以上版本的环境
1、安装项目依赖
git clone https://github.com/pjialin/py12306
pip install -r requirements.txt
2、根据自己的需求,调整程序配置,
cp env.py.example env.py
3、启动前测试 目前提供了一些简单的测试,包括用户账号检测,乘客信息检测,车站检测等
python main.py -t
# 默认不会进行通知测试,要对通知进行测试需要加上 -n 参数
python main.py -t -n
-t 测试配置信息
-t -n 测试配置信息以及通知消息
-c 指定自定义配置文件位置
4、运行程序
python main.py`
Docker安装部署
# 下载配置文件
docker run --rm pjialin/py12306 cat /config/env.py > env.py
# 或
curl https://raw.githubusercontent.com/pjialin/py12306/master/env.docker.py.example -o env.py
# 修改好配置后运行
docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306
关于 Web 管理页面,在配置中打开 WEB_ENABLE,启动程序后访问当前主机地址 + 端口号 (默认 8008) 即可访问。例如 http://127.0.0.1:8008。
项目展示
Web 管理页面
下单成功
查询任务
实时日志
抢票成功
更多项目功能细节,感兴趣的可以到项目地址进行查看:
项目地址:
https://github.com/pjialin/py12306