GitHub上火爆——12306抢票的开源实践

【Python抢票神器】火车票枪票软件到底靠谱吗?实测—终极攻略。 好啦!这款Python实现12306查票以及自动购票的小程序写到这里就正式over了!大家还想看爬什么的可以跟我讲撒!评论区留言即可!👇。 阅读详情
AI摘要

本文介绍了分布式Python库py12306,支持多账号、多任务购票,包含自动打码、语音通知、Docker部署、分布式集群、Web管理页面及防封策略。它还提供了动态配置、通知服务和实时日志查看等功能。,

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

Features

  • 多日期查询余票

  • 自动打码下单

  • 用户状态恢复

  • 电话语音通知

  • 多账号、多任务、多线程支持

  • 单个任务多站点查询

  • 分布式运行

  • Docker 支持

  • 动态修改配置文件

  • 邮件通知

  • Web 管理页面

  • 微信消息通知

  • 代理池支持 (pyproxy-async)

使用

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

1. 安装依赖

git clone https://github.com/pjialin/py12306

pip install -r requirements.txt

2. 配置程序

cp env.py.example env.py

自动打码

(若快已停止服务,目前只能设置free打码模式) free 已对接到打码共享平台,https://py12306-helper.pjialin.com,欢迎参与分享

语音通知

语音验证码使用的是阿里云 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

参数列表

  • -t 测试配置信息

  • -t -n 测试配置信息以及通知消息

  • -c 指定自定义配置文件位置

分布式集群

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

  • 单台主节点多个子节点同时运行

  • 主节点宕机后自动切换提升子节点为主节点

  • 主节点恢复后自动恢复为真实主节点

  • 配置通过主节点同步到所有子节点

  • 主节点配置修改后无需重启子节点,支持自动更新

  • 子节点消息实时同步到主节点

使用

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

目前提供了一个单独的子节点配置文件 env.slave.py.example 将文件修改为 env.slave.py, 通过 python main.py -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 --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306

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

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

更新

  • 19-01-10

    • 支持分布式集群

  • 19-01-11

    • 配置文件支持动态修改

  • 19-01-12

    • 新增免费打码

  • 19-01-14

    • 新增 Web 页面支持

  • 19-01-15

    • 新增 钉钉通知

    • 新增 Telegram 通知

    • 新增 ServerChan 和 PushBear 微信推送

  • 19-01-18

    • 新增 CDN 查询

截图

Web 管理页面

图片

下单成功

图片

关于防封

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

考虑到大家可能访问不了GitHub,我已经把源代码下载下来了,大家可以直接下载:https://pan.quark.cn/s/5a1c39ccb0fc 

来自GitHub的Python开源项目,100%可用的12306多功能抢票助手,切勿作为商业用途 本项目clone来自https://github.com/testerSunshine/12306.git;仅修复一个小bug,然后修改配置文件,抢票可用; 重申:本软件只供学习交流使用,勿作为商业用途! python版本 3.6 - 3.7.4 已有功能 自动打码 自动登录 准点预售和捡漏 智能候补 邮件通知 server酱通知 依赖库 验证码目前可以本地识别,需要下载模型,放于项目根目录,全部代码来源于此项目传送门,表示感谢 1. 模型下载链接:h... 阅读详情

相关推荐

100行Python代码实现自动抢火车票(附源码)

又到年底了,相信对于在外地的朋友们来说,火车票是到年底最头痛的一件事了,但作为程序员的你怎么能一样呢?快发挥你的特长,下面这篇文章主要给大家介绍了如果通过100行Python代码实现自动抢火车票的相关资料,需要的朋友可以参考下。

github上12306抢票使用说明

1、简要 12306工程是github上一个标星16k的python项目,在自己笔记本上搭建环境并且部署好即可以实现自动打码、自动登录、准点预售和捡漏、智能候补、邮件通知、server酱通知。当前项目使用python版本为3.7,Google浏览器为78,Python开发IDEA是Pycharm-2019.2。项目地址:https://github.com/testerSunshine/12306...

伪装者的博客 9169

STK中的传感器、雷达、发射机、接收机、天线

本文根据STK手册介绍了传感器、雷达、发射机、接收机、天线等对象的基本属性,简略分析了它们的不同之处。

wangyulj的专栏 1万+

12306抢票软件 python抢票脚本

自动查询车票,并筛选指定的车次进行购票。

qq_43616689的博客 7217

windows系统下,如何为comfyui如何安装triton

​ 有些加速插件、模型在安装的时候,比如说sageattention的安装,就需要提前安装triton这个包,不过这个包有点特殊,windows下略微不好装,经常会装失败。 🎠如何安装 之前也有人介绍过,要到github上找个wheel文件,找到对应的版本安装下就好了。 问题是:https://github.com/woct0rdho/triton-windows/releases 这个git地址上,已经找不到wheel文件了... ​

聚梦小课堂 4505

三菱JET伺服限位、原点信号通过PLC刷新设置方法

RWw及RWr软元件的初始设定值,可通过 [Pr. PA01.0 控制模式选择] 及 [Pr. PN22.0 默认映射模式选择] 的值进行切换。JET伺服参数用于CC-Link IE现场网络Basic。循环通信的请求报文与响应报文的收发数据被换读为伺服放大器的对象数据 (RWwn、RWrn)。接下来看映射字2D05具体的内容: 也就是2D05操作字的第九位、第十位、第十一位。响应报文的设定值可进行变更。变更初始设定值时,应变更PDO映射。不同的模式,对应不同的刷新映射内容。GXWORKS3程序。

qq_51166033的博客 8058

12306抢票的开源实践--火爆GitHub

【说明:仅仅为开源代码学习,切勿拿来搞钱,这东西真能搞钱,一切商业后果自负!

Linuxer_Martin 1425

使用TensorFlow Lite Micro流程记录(带源码)

记录如何使用tensorflow lite micro,以及期间解决的问题

ZhaoDongyu_AK47的博客 6217

还担心春节抢不到票,Github标星21K,这两款开源项目值得推荐

每逢佳节抢票难,难不倒程序员,代码走一走,去哪儿的票都能抢到手!这两款python抢票的工具你试了没?》》》

dotNet全栈开发 1万+

华为MA5620配置宽带及语音实例

华为EPON配置实例1、公共部分和宽带PPPOE部分用串口用户名密码root/mduadminMA5620E>enableMA5620E#configMA5620E(config)#MA5620E(config)#sysnamebigcow/给设备起名字/****之前为公共部一、建vlan和地址bigcow(config)#vlan100...

weixin_33862041的博客 6348

duilib 之 事件--bubbled冒泡事件应用、通用点击事件、进入离开事件、XML样式中直接添加事件

1. box 绑定点击事件 ui::Box *pSmallVideoBox = (ui::Box*)FindControl(L"rightBox"); if (pSmallVideoBox) { auto SwitchVideo = [this](ui::EventArgs* param){ m_bSecScreenIsScale = m_bMainScre...

目前打算换一个工作,有招聘windows c++方向的也欢迎联系,北京、济南 最好 973

12306 崩了,90% 的人都用过这三款抢票工具

公众号关注“GitHubDaily”设为 “星标”,每天带你逛 GitHub!12306 又崩了12306 回应软件崩了:操作旅客过多,可尝试重装 app 或切换网络有不少网友反映 1...

GitHubDaily 2860

PCL Trimmed ICP实现点云精配准【2025最新版】

博客长期更新,本文最新更新时间为:2025年6月25日。抄袭狗记得来抄最新代码哦,抄都抄成错的,不够丢人钱。

点云侠的博客 37万+

12306 抢票开源项目登上热榜:用Python助力抢票,揭秘开源项目背后的力量!

大家好,我是猫头虎博主!🐯 今天我们要聊聊一个在开发者社区引起广泛讨论和使用的项目——12306 抢票开源项目。在此,我们将深入探讨这个使用Python打造的开源项目如何在抢票季提供强大支持,以及它背后的技术实现和社会价值。🚄🎟️12306 抢票开源项目不仅是一个强大的抢票工具,也是Python在数据交互和自动化方面能力的一次完美展现。它体现了技术如何在解决实际问题时发挥巨大作用,也展示了开源社区在推动项目发展中的不可替代的角色。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1324

《二、企业级监控系统之Prometheus监控node_exporter》

文章目录一、部署node_exporter服务二、部署prometheus服务2.1、部署node_exporter服务三、grafana之添加数据源四、grafana之导入监控模板五、grafana之修改模板变量六、grafana之修改仪表板变量总结 > 这里是引用 一、部署node_exporter服务 docker run -d --restart=always --name node_exporter --net=“host” --pid=“host” -v “/:/host:ro,

东城绝神 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

(转)春节抢票难,github标星1.5万的2款开源项目你一定没试过

转自 https://mp.weixin.qq.com/s/T2DMT4-QpACQSGCrbT8Rzw 前言 每逢佳节抢票难,难不倒程序员,代码走一走,去哪儿的票都能抢到手! 每次过节的时候,都有过抢票的经历,记得两年前还有人等待开始发售春节的票时,蹲点抢,好辛苦的感觉。这不程序员就很不开心,没有什么事能够阻止得了程序员的,干就完事了。最近GitHub上面就有两个异常火爆的项目,都是用Pytho...

Yyt的博客 8441

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python github 12306 文贤平_开源的12306抢票神器,GitHub标星1.5万

前言每逢佳节抢票难,难不倒程序员,代码走一走,去哪儿的票都能抢到手!,我是练习时长两年半的程序员,喜欢唱、跳、rap,编程抢票。感受一些我的freestyle,抢票一定很廉价!干就完事了。每次过节的时候,都有过抢票的经历,记得两年前还有人等待开始发售春节的票时,蹲点抢,好辛苦的感觉。这不程序员就很不开心,没有什么事能够阻止得了程序员的,干就完事了。最近GitHub上面就有两个异常火爆的项目,都是用...

weixin_35695652的博客 693

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

再见了,12306!春节回家第一抢票神器,GitHub上25万Star

又要到新年了,想起了过年时,早上起来推开窗户外边已经是雪的世界,街上的冰糖葫芦,地瓜,还有从各地来的相聚的玩伴。 想到这里,小伙伴们是否也像小编一样对回家充满期待呢? 自从2010年官方推出12306以来,可以说很大的方便了我们的购票体验,但是每一年的抢票让我们心头焦虑。 老婆,定一点钟的闹钟,两点半的也定一个。老婆,我们抢不同的路线,成功率高。老婆,看看还有没有一站的票,我...

ice-wee的专栏 756

用这个抢票神器,一抢一个准!

关注逆锋起笔学习资源、工具不用愁「逆锋起笔」公号读者福利☞ 程序员进阶必备资源免费送「各种技术!」 ☜车栗子 发自 凹非寺量子位 报道 | 公众号 QbitAI春节抢票正在如火如...

code小生 888

春节Python抢票神器,支持候补抢票

车栗子 发自 凹非寺量子位 报道 | 公众号 QbitAI想要回家的小伙伴们,大概经历了一波抢票大战。顺便把一个Python抢票工具,送到了GitHub趋势榜第一。项目名很干脆,就是1...

cainiao_python的博客 796

php 模拟登陆网站抢票,【附源码】程序员做的这款抢票神器,在GitHub火了

最近临近国庆节,大家都是归心似箭的「其实都是一批想出去的玩的」。但是一碰到这种节假日,买票就是贼难买的,况且是这种七天长假,宅在家里没事做,出去玩是必然的。买不到票了咋办,抢票呗。以前还要手动抢,从去年开始,12306官方上线了一个候补票的功能,也就是说现在票卖完了,买不到票的各位先在这里等着。前面要是别人退票了或者有新票放出了,然后12306再把这些票发给大家。大家按照顺序来,谁先排队的就先给谁...

weixin_39611863的博客 834

applicationid修改完进程序就崩溃_回家抢票咋就那么难,程序员可不烦这个

快过年了,又快到了和家人团聚的时刻,可是没买到回家的票啊,真的是急死人了。现在可真的是“一票在手,天下我有”啊。12306 又崩溃了不少网友反映12306崩了,买票太难了。12306客服表示,可能是操作旅客过多,系统繁忙造成的,可尝试重新卸载安装客户端或切换网络。关于春运期间是否加强技术保障,客服称需要反馈给相关技术部门才能得知。12306崩溃这些话听了不下百遍,可是还是没能抢到一张回家的车票,不...

weixin_35422230的博客 122

买到回家的票了吗?用Python刷票,还不快来试试!

每年春节来临之际,抢票成了所有在外游子的必刷 boss。今天,你抢到票了吗?没有的话,快来试试这个程序!   项目地址: https://github.com/testerSunshine/12306   又是一年春运高潮来临,抢票回家成了老大难题。除了 12306 官网和官方 APP,各种第三方抢票软件也是层出不穷。就算朋友圈没被抢票小程序刷屏,聊天群也被刷了吧?   然而,春...

qq_40558336的博客 281

买到春节回家的票了吗?用Python刷票,还不快来试试!(建议收藏) 为回家做准备...

点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Don't worry too much about the a...

程序员小乐 475

1月份Github上最热门的Python开源项目

开源最前线(ID:OpenSourceTop) 猿妹整编转载请注明来源作者1月份GitHub上最热门的Python开源项目排行已经出炉啦,一起来看看上榜详情:1supersethttps:...

cainiao_python的博客 410
上一篇: 12306 抢票开源脚本登上热榜!
下一篇: 够21万人喝一辈子的水,还不够谷歌服务器用7个月的?
IT界那些事儿
博客等级 码龄6年 2万+粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值