Python 12306 抢票工具如何实现?

https://github.com/versionzhang/python_12306

这是前几天刚开的 repo,参考了现有的两个项目,从新写的项目。这几天疯狂更新目前已经添加了不少功能

多日期查询余票

自动打码下单

用户状态自动检查

下单成功邮件通知

小黑屋策略

预售模式

两套下单接口(稳妥期间请选用正常下单流程, 因为是官网 web 端现在使用的接口)

打包项目(目前在 dev 分支,测试稳定之后合并到主分支

由于是刚开发的,所以在这里能希望多点小伙伴试用一下,能够一起完善这个项目。也欢迎开发者提 pr,也欢迎大佬对代码实现提出批评和建议。

还有想请教一下如何推广这个项目让更多的人参与使用体验,能够有良好的反馈,

谢谢


Python 12306 抢票工具如何实现?

32 回复

会不会被封 IP 啊,我挂云主机的 12306bypass 已经挂了。


在服务器上没跑过。。我在家跑一天没问题。。
谢谢支持,😁

这个只在终端里运行,12306bypass 毕竟是带 gui 的,强依赖 Windows。不过我这个也只开发了几天而已,不能和别人已经迭代好多个版本的程序相比。只是提供一个可选项。正因为是初版,所以开发过程中难免有 bug 和问题,更希望能够多些人参与反馈,形成良好的循环。

楼主用这个抢到票了吗

抢到了回来的票。我觉得其实抢票工具的本身是减少人的重复查询工作,加快提交订单的速度,抢到抢不到票其实和好多条件有关。

昨天刚有人发了一个 python 的好像

嗯,可以看 readme 文件的 thanks 部分提到的两个 repo,昨天那个是根据 easytrain repo 改的,另一个是 github 上有一个四千多 star 的 repo。但是我觉得他的代码实现方式不是很好所以自己重新建了仓库重新实现,😁。毕竟是强需求,有多个仓库实现很正常。但是我希望我的项目能够有推广的机会有更多的人使用,所以就厚颜无耻推广一波😄

嗯,可以看 readme 文件的 thanks 部分提到的两个 repo,昨天那个 repo 是根据 easytrain repo 改的,另一个是 github 上有一个四千多 star 的 repo。但是我觉得他的代码实现方式不是很好所以自己重新建了仓库重新实现,😁。毕竟是强需求,有多个仓库实现很正常。但是我希望我的项目能够有推广的机会有更多的人使用,所以就厚颜无耻推广一波😄

能一次买 2 个人的票吗?万一买一个票的时候,其他座位被抢没了,就尴尬了~~~

可以添加多个乘客信息的但是只能买同样行程的票。如果你的意思是两个人的行程不一样的话是没办法的。这种只能多开个命令用新的账号用新的配置来买,如果用同一个账号会互相影响

暂时用不到 先收藏了

…这搞成军备竞赛了。我觉得还是完全卡死抢票途径的好

3.5 以上好评。

多谢支持
这个也是没办法的事,毕竟大家都用你不用就抢不过别人
😁,自己造轮子还是有这点自主权

最近好多这个啊。。。还都是 py 12306 抢票,刚看了下 GitHub Trending 上就有两个了。
https://github.com/pjialin/py12306
https://github.com/testerSunshine/12306

就比如我的这个项目😁

打码的效率怎么样?

打码是用的若快,识别还可以,不过现在提交订单基本都不弹验证码了,只有登录才需要验证码

价值观不过关

好多个 py 文件,拜托楼主说下设计思路,跪求

其实本质上抢票软件都分为登录 查询 提交订单 三大部分,你可以看到 logic 文件夹里面有三个子文件夹对应这三大步骤,另外的两个文件夹是辅助整个流程抽象出来的数据结构,类和方法。当然在这三大模块里面还有一些小模块,也会抽离出来。然后 mainloop 文件就是将这三个流程串起来的调度类,具体的实现就要看代码了。里面三大部分的通过调用什么接口返回什么网上有很多分析的,你可以找一下参考一下。后续如果有时间我会写写这个项目从零是如何实现的(拖延症患者晚期。。。)

代码好多,好好消化一下,关注楼主后续文档更新

春运火车票一票难求的原因终于找到了。另好奇:12306 强大的验证码是则么通过的呀?

接入第三方的打码服务。。春运其实本质问题还是运力不足以及经济发展区域不均衡。但是我们都没办法改变这个事实只能接受,然后各种抢票工具就出来了。其实抢票工具就是个模拟人行为的一个爬虫,12306 如果行为检测做的好的话抢票软件的开发成本也会提高。不过现在的检测措施还没到很智能的地步

代码质量不错,已 star

多谢支持,如果对代码的实现有建议的欢迎指出,谢谢

赞一个,虽然不太用的上

多谢支持,有需要的时候可以试用一下,😄

这种安装后如何卸载?

如果是用包安装的,则执行命令 pip uninstall py12306,如果是 clone 下来的,直接删除文件夹就可以了

请教一下,要是用来捡漏的话,一直查询 IP 地址会不会被封。。。

正常查询的话是不会封的,我的连续跑过两天没啥问题。但是不能查询太快,太快容易疯狂登录失效,捡漏还是看运气吧。虽然加了多线程和 cdn 功能,但是效果未知,多线程还会引起登录失效。

回到顶部