py12306是 pjialin 大神用python3编写的一款12306抢票工具。相比其他的抢票工具来说,这款工具支持多节点部署、多账号同时抢票、多任务同时抢票,设计理念在移动互联网时代十分具有前瞻性。
20191230:暂不支持热门车次的滑块验证码


开源地址
https://github.com/pjialin/py12306
通俗解释下概念
多节点部署:该套系统能够在不同的云主机、本地主机上部署,并协同工作,也称为分布式部署。
多任务购票:比如 23号小张 北京-上海 、 23号小李 广东-贵州 ,这两个任务可以同时设置任务抢购。
支持docker部署:docker中文译作容器,可以看作是一种提高效率的手段。拿搬家打比方,传统搬家是把旧房子中的家具搬运到新房子中,并整理妥当;而docker容器搬家就是将你的旧房子连带周边的邻居、商户一同搬运到新的地皮上,一切都是最初的模样。这样部署起来简单,且能够获得和开发者一样的运行环境,避免出现玄学问题。
特性
- 多日期查询余票
- 自动打码下单
- 用户状态恢复
- 电话语音通知
- 多账号、多任务、多线程支持
- 单个任务多站点查询
- 分布式运行
- Docker 支持
- 动态修改配置文件
- 邮件通知
- Web 管理页面
- 微信消息通知
- 代理池支持(开发中)
使用
py12306 需要运行在 python 3.6 以上版本,故请在下方三个链接中选择你的系统安装python。
安装界面打开后有一个add python to path
请勾选,这是为了你能在命令行里直接使用python指令。
windows-python-32位安装包
windows-python-64位安装包
mac os x 安装包
安装完python后,请下载大神开发的软件包。
py12306源码包下载地址
将下载好的软件包解压到任意目录,例如D:/py12306
1. 安装依赖文件
windows请打开开始-命令行提示符
mac请在launchpad里打开终端
cd D:/py12306
#如果下列命令敲进终端里,提示xxx not found,最简单的办法是返回第一步重新安装python。安装时刻选择 cosumize-勾选pip .
pip install -r requirements.txt
回车后应该能看到屏幕在翻滚,根据网速情况大概需要1到5分钟完成,完成后底部会有success、finished字眼。
2. 配置程序
#windows用户请进到py12306文件夹里,把env.py.example文件改名到env.py即可,无需执行下列命令
#mac用户可以直接用以下命令
cd D:/py12306
cp env.py.example env.py
语音通知
如果你需要使用电话通知服务,那么还需要额外购买接口服务,小白跳过即可。
语音验证码使用的是阿里云 API 市场上的一个服务商,需要到 https://market.aliyun.com/products/56928004/cmapi026600.html 购买后将 appcode 填写到env.py配置中,这个文件是可以右键单击,选择用记事本打开修改的。
3. 启动前测试
目前提供了一些简单的测试,包括用户账号检测,乘客信息检测,车站检测等,小白用户可以跳过。
开始测试 -t
python main.py -t
测试通知消息 (语音, 邮件) -t -n ,小白用户可以跳过
# 默认不会进行通知测试,要对通知进行测试需要加上 -n 参数
python main.py -t -n
4. 运行程序
cd D:/py12306
python main.py
Web 管理页面
打开浏览器,访问这个地址,就能看到图形化的控制台了,此时一个单节点的抢票工具就搭建好了。登陆账号默认为admin,密码为password。打开浏览器访问就能看到后台了!
http://127.0.0.1:8008
联系
转载自https://tonystark.io/opensource/py12306.html
tonystark.io主要是站在小白的角度讲解一些程序员大神们的最新创造,
如果对这个工具感兴趣,但是却遇到了一些技术问题的,也可以在下方评论,或者联系lata32。有空我会解答大家的疑问,帮助大家体验程序员带来的黑科技。
网友评论