中秋国庆黄金周即将来临,很多人都在为抢火车票烦恼,提前一周开始抢票还是抢不到,抢不到票回家也很难、出去旅游也很难,所以抢票真的是一件很头疼的事情。
今天给大家介绍一个开源的好项目:如何使用python 在12306上查/买票。
py12306 购票助手
- 分布式,多账号,多任务购票
- 开源作者:https://github.com/pjialin
- 一定要按自己的账号信息修改配置文件然后再部署应用
- 东西是好东西,请大家合理利用资源,切勿用在邪门歪道上。
主要功能
- [x] 多日期查询余票
- [x] 自动打码下单
- [x] 用户状态恢复
- [x] 电话语音通知
- [x] 多账号、多任务、多线程支持
- [x] 单个任务多站点查询
- [x] 分布式运行
- [x] Docker 支持
- [x] 动态修改配置文件
- [x] 邮件通知
- [x] Web 管理页面
- [x] 微信消息通知
- [ ] 代理池支持 (pyproxy-async)
使用方法
1.Docker 部署
(1) 将配置文件下载到本地
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
(2) 修改好配置后运行
docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306
当前目录会多一个 12306.log 的日志文件, tail -f 12306.log。
2.Docker-compose 中使用
(1) 复制配置文件
cp docker-compose.yml.example docker-compose.yml
(2) 从 docker-compose 运行
在docker-compose.yml所在的目录使用命令:
docker-compose up -d
Web 管理页面
目前支持用户和任务以及实时日志查看,更多功能后续会不断加入。
使用
打开 Web 功能需要将配置中的 WEB_ENABLE 打开,启动程序后访问当前主机地址 + 端口号 (默认 8008) 即可,如 http://127.0.0.1:8008。