ITPub博客

首页 > > > py12306:你的 12306 购票助手(支持集群,多账号,多任务购票)

py12306:你的 12306 购票助手(支持集群,多账号,多任务购票)

作者:孤独键客 时间:2020-05-14 14:48:07 0 删除 编辑
程序员的成长之路
互联网/程序员/成长/职场 
关注


阅读本文大概需要 2 分钟。

假期不发技术性文章,祝大家国庆快乐~
项目介绍
12306 购票助手,支持集群,多账号,多任务购票以及 Web 页面管理。
功能
  •  多日期查询余票
  •  自动打码下单
  •  用户状态恢复
  •  电话语音通知
  •  多账号、多任务、多线程支持
  •  单个任务多站点查询
  •  分布式运行
  •  Docker 支持
  •  动态修改配置文件
  •  邮件通知
  •  Web 管理页面
  •  微信消息通知
  •  代理池支持 (pyproxy-async)
使用
py12306 需要运行在 python3.6 以上版本(其他版本暂为测试)
1. 安装依赖
git clone https://github.com/pjialin/py12306

pip install -r requirements.txt
2. 配置程序
cp env.py.example env.py
自动打码
验证码可以本地识别,所用的模型和算法均来自 https://github.com/zhaipro/easy12306 十分感谢! 验证码识别已迁移到服务器进行识别,无需本地安装环境
注:免费打码无法保证持续可用,如失效请手动切换到若快平台,需要先到 http://www.ruokuai.com 注册一个账号后填写到配置中(若快已停止服务,目前只能设置free打码模式)
语音通知
语音验证码使用的是阿里云 API 市场上的一个服务商,需要到 https://market.aliyun.com/products/56928004/cmapi026600.html 购买后将 appcode 填写到配置中
3. 启动前测试
目前提供了一些简单的测试,包括用户账号检测,乘客信息检测,车站检测等
开始测试 -t
python main.py -t
测试通知消息 (语音, 邮件) -t -n
# 默认不会进行通知测试,要对通知进行测试需要加上 -n 参数
python main.py -t -n
4. 运行程序
python main.py
Docker-compose 使用方法,略...
Web 管理页面使用方法,略...
GitHub 地址:https://github.com/pjialin/py12306

截图

Web 管理页面

下单成功

关于防封

目前查询和登录操作是分开的,查询是不依赖用户是否登录,放在 A 云 T 云容易被限制 ip,建议在其它网络环境下运行。
GitHub 地址:https://github.com/pjialin/py12306

往期精彩回顾

Git 从入门到放不下

前端框架 jQuery 和 Vue 如何选择?

HR黑话大全:那些残忍的潜台词!

2019 年 9 月全国程序员工资统计(参考)


朕已阅 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69902700/viewspace-3129823/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
一个不羁的码农,终身学习者。公众号「程序员的成长之路」。目前就职于一家游戏公司,主要负责服务器端,以及web系统的开发工作,对Java相关知识比较擅长。

注册时间:2018-12-14

  • 博文量
    793
  • 访问量
    119830