传送门 https://github.com/pjialin/py12306/

py12306 购票助手

分布式,多账号,多任务购票

前言

今年回家的票明显要难买很多,早早就答应了父母今年的票没问题,到现在一张票没买到,虽然家里已经订了汽车票,让我不用操心,但是想想他们一行还有小孩,心还是很伤的。 这段时间从 12306Bypass 到 testerSunshine 大佬写的 12306,还是没抢到票,索性就自己写了一个,希望也能帮助到更多人

Features

  • 多日期查询余票
  • 自动打码下单
  • 用户状态恢复
  • 电话语音通知
  • 多账号、多任务、多线程支持
  • 单个任务多站点查询
  • 分布式运行
  • Docker 支持
  • 动态修改配置文件
  • 邮件通知
  • Web 管理页面
  • 微信消息通知

使用

py12306 需要运行在 python 3.6 以上版本(其它版本暂未测试)

1. 安装依赖

git clone https://github.com/pjialin/py12306pip install -r requirements.txt

2. 配置程序

cp env.py.example env.py

自动打码

目前支持免费打码,和若快打码

注:免费打码无法保证持续可用,如失效请手动切换到若快平台,需要先到 http://www.ruokuai.com 注册一个账号后填写到配置中

语音通知

语音验证码使用的是阿里云 API 市场上的一个服务商,需要到 https://market.aliyun.com/products/57126001/cmapi019902.html购买后将 appcode 填写到配置中

3. 启动前测试

目前提供了一些简单的测试,包括用户账号检测,乘客信息检测,车站检测等

开始测试 -t

python main.py -t

测试通知消息 (语音, 邮件) -t -n

# 默认不会进行通知测试,要对通知进行测试需要加上 -n 参数
python main.py -t -n

4. 运行程序

python main.py

参数列表

  • -t 测试配置信息
  • -t -n 测试配置信息以及通知消息
  • -c 指定自定义配置文件位置

分布式集群

集群依赖于 redis,目前支持情况

  • 单台主节点多个子节点同时运行
  • 主节点宕机后自动切换提升子节点为主节点
  • 主节点恢复后自动恢复为真实主节点
  • 配置通过主节点同步到所有子节点
  • 主节点配置修改后无需重启子节点,支持自动更新
  • 子节点消息实时同步到主节点

使用

将配置文件的中 CLUSTER_ENABLED 打开即开启分布式

目前提供了一个单独的子节点配置文件 env.slave.py.example 将文件修改为 env.slave.py, 通过 python main -c env.slave.py 即可快速启动

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 -d -v $(pwd):/config -v py12306:/data pjialin/py12306

当前目录会多一个 12306.log 的日志文件, tail -f 12306.log

Web 管理页面

目前支持用户和任务以及实时日志查看,更多功能后续会不断加入

使用

打开 Web 功能需要将配置中的 WEB_ENABLE 打开,启动程序后访问当前主机地址 + 端口号 (默认 8008) 即可,如 http://127.0.0.1:8008

更新

  • 19-01-10

    • 支持分布式集群
  • 19-01-11
    • 配置文件支持动态修改
  • 19-01-12
    • 新增免费打码
  • 19-01-14
    • 新增 Web 页面支持
  • 19-01-15
    • 新增 钉钉通知
    • 新增 Telegram 通知
    • 新增 ServerChan 和 PushBear 微信推送

截图

Web 管理页面

下单成功

关于防封

目前查询和登录操作是分开的,查询是不依赖用户是否登录,放在 A 云 T 云容易被限制 ip,建议在其它网络环境下运行

交流群 274781597

Thanks

  • 感谢大佬 testerSunshine,借鉴了部分实现
  • 感谢所有提供 pr 的大佬

转自git

py12306 购票助手相关推荐

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

    程序员的成长之路 互联网/程序员/成长/职场  关注 阅读本文大概需要 2 分钟. 假期不发技术性文章,祝大家国庆快乐~ 项目介绍 12306 购票助手,支持集群,多账号,多任务购票以及 Web 页面 ...

  2. python12306买票_使用 py12306 购票

    归程将至,不少朋友可能还未买到火车票.这里根据我自己这几天的购票经历分享下如何使用工具 py12306 购票. 这里我们使用 Linux 系统. 安装 Python 环境 首先需要 Python 环境 ...

  3. 12306终极购票助手(支持一键,方便快捷)

    官方博客链接 ********************************************************************************************* ...

  4. gitHub 25.6k star 购票助手 testerSunshine/12306 安装教程(windows)

    1.python 安装 支持版本 3.6 - 3.7.4 3.73下载地址 2.安装完cmd窗口执行命令 python 如图: 如果报错则是没有添加环境变量,添加电脑环境变量,没有报错则跳过此步进入第 ...

  5. 12306火车购票 助手.js

    // ==UserScript== // @name             12306.CN 订票助手 For Firefox&Chrome // @namespace        htt ...

  6. 12306购票助手开源啦

    去年春运期间写了一篇文章<火车票抢票攻略>得到很多园友们的支持,今天我把源代码放在github上了,有兴趣的同学可以去看看. 源码地址:https://github.com/lq1016/ ...

  7. 牛X,试用了下 GitHub 上 2 万 Star 的第一抢票神器,3 秒钟抢到!

    点击上方"视学算法",选择"星标" 车栗子 发自 凹非寺 量子位 报道 | 公众号 QbitAI 春节抢票正在如火如荼的进行,过年回家那肯定需要抢票,每年的抢票 ...

  8. 抢票神器成GitHub热榜第一,支持候补抢票,Python跑起来

    车栗子 发自 凹非寺  本文转载自:量子位(QbitAI)想要十一回家的小伙伴们,大概刚刚经历了一波抢票大战. 顺便把一个Python抢票工具,送到了GitHub趋势榜第一: 项目名很干脆,就是&qu ...

  9. 抢票神器成GitHub热榜第一,支持候补抢票,Python跑起来 | 标星8400

    车栗子 发自 凹非寺  本文转载自:量子位(QbitAI) 想要十一回家的小伙伴们,大概刚刚经历了一波抢票大战. 顺便把一个Python抢票工具,送到了GitHub趋势榜第一: 项目名很干脆,就是&q ...

  10. python抢票代码_GitHub标星超12K,抢票神器大更新,支持候补

    掐指一算,距离国庆黄金周还有半个月的时间!你出行的车票都抢到了吗? 图片来自 pexels 根据国务院办公厅发布的关于 2019 年部分节假日安排的通知,国庆放假安排是:10 月 1 日至 7 日. ...

最新文章

  1. 张孝祥javascript学习笔记1---HTMLCSS
  2. php使用memcache存储session
  3. HTTP 错误 404.3 - Forbidden
  4. AndroidAsync
  5. python表单处理_python flask 表单处理Flask-WTF
  6. python telnetlib详解 执行循环命令_Python3+telnetlib实现telnet客户端
  7. Python入门--字符串的切片操作
  8. 计算机网络体系结构作业题整理-第一章答案
  9. 高斯光束matlab 仿真,高斯光束的matlab仿真
  10. 计算机游戏运行组件,Steam游戏必备运行库安装包
  11. 2021年度盘点|民宿发展"春水涌动"
  12. 怎么用计算机创建wifi,电脑如何设置wifi
  13. [JZOJ5442]【NOIP2017提高A组冲刺11.1】荒诞([BZOJ3060]【POI2012】Tour de Byteotia)
  14. python 大文件分片上传_Python实现大文件分片上传
  15. php获取服务器运行时间差,解决php服务器时间差异
  16. [人脸活体检测] 论文: Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision
  17. 企业高管和高收入人群必读的税务筹划策略!
  18. 【论文阅读笔记】BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translati
  19. mysql c盘满了 怎么办_C盘满了如何清理
  20. 新唐单片机选型手册_新唐8051标准系列单片机选型指南

热门文章

  1. android studio 汉化包 美化包
  2. 运筹学 知识点总结 (十一)
  3. 2021线报天下 原创工具 (免费版本,无版权问题)
  4. 苹果手表出现,请在iphone 打开apple watch 应用,前生Passcode,轻点密码重试
  5. 湖北工业大学计算机学院考研资料,湖北工业大学计算机学院836数据结构历年考研真题汇编.pdf...
  6. BeyondCompare 源代码比对解决方案
  7. 20阶乘matlab,matlab如何调用阶乘函数求阶乘的和
  8. OpenDrive学习笔记
  9. M2Det 论文阅读心得[目标检测领域]
  10. Linux安装Anaconda报错,无法执行二进制文件,可执行文件格式错误