美文网首页
多账号、多任务、分布式的火车抢票工具 - py12306

多账号、多任务、分布式的火车抢票工具 - py12306

作者: athleanx | 来源:发表于2019-12-31 15:41 被阅读0次

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

20191230:暂不支持热门车次的滑块验证码

web-page shell-page

开源地址

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。有空我会解答大家的疑问,帮助大家体验程序员带来的黑科技。

相关文章

网友评论

      本文标题:多账号、多任务、分布式的火车抢票工具 - py12306

      本文链接:https://www.haomeiwen.com/subject/sjoboctx.html