50 个加速包都抢不到车票,还不如这个 Python 抢票神器

2019 年 1 月 12 日 互联网er的早读课


来源:痴海(ID:ch726612)

排版:妮子小菇凉


又到了一年一度的抢票大战,本来就辛苦劳累了一年,想着可以早点订到票跟家里人团聚。所以有挺多的人,宁愿多花些钱去找黄牛买票。但今年各种抢票软件的横行,还有官方出的加速包,导致连黄牛都不敢保证能买到票。你无奈的只能一起加入抢票大军。



从不花钱的低速,到中速、高速、极速、光速、VIP,6 种抢票速度,越快当然抢到的几率也就更高,但每升一极都需要你花 10 个加速包才能实现。


而加速包的获取方式有两种:1.直接花钱买,1 元 1 个价格,全套下来大概 50 元左右。2.是好友助力,每邀请一个好友帮你助力就能获取 2 ~ 5 不等的加速包。


大部分人都是不愿意花钱买加速的,所以你开始群发好友,轰炸微信群,朋友圈吆喝,挂 N 个抢票软件,各种你能想到的手段,都尝试一遍,但无一都失败了。


今天我就给大家介绍一个开源的 Python 抢票程序,亲测有效!我身边已经有很多好友,通过这个程序抢到车票了。不仅免费开源,还非常有用。


一、12306 购票小助手


项目已经在 GitHub 上开源了,地址:


https://github.com/testerSunshine/12306



作者也很用心的把程序的思路给画了出来,我们可以简单的看一下。整个思路其实就是模拟一个正常人购票的方式,首先查询下车票剩余的票数,如果有座位提交订单,出现验证码这识别验证码,随后就循环点击提交按钮,这里作者就做了很多的条件判断,比如出现异常则重新查询,提交订单失败也重新查询,直至获取订单成功。订票成功之后还有一个通知机制,即发送到你的邮箱里。


二、项目使用到的 Python 库


接下来我们查看这个项目都用到哪些 Python 库。打开 requirements.txt 文件,这里面把项目所用到的库大致都写了出来。



网络请求用到了经典的 requests 库,而页面解析用到了 bs4 和 beautifulsoup4。有人可能会问这两个解析库有什么区别?bs4 是用在 python3 版本上的,而 beautifulsoup4 是用在 python2 版本上。我最开始学 beautifulsoup 的时候就被这个坑过。


Pillow:Pillow 是很经典的 Python 图像处理库,可以大致猜测作者用这个库来解决简单验证码的问题。


PyYAML:YAML 是一种直观的能够被电脑识别的的数据序列化格式,容易被人类阅读,并且容易和脚本语言交互。YAML 类似于 XML,但是语法比 XML 简单得多。PyYAML 是 YAML 的 Python 实现,可以用于参数化 Pytho n对象,用来当做配置文件。


Six:众所周知 Python 2 和 Python 3 版本的分裂给 Python 开发者们带来了很大的烦恼,为了使代码同时兼容两个版本,往往要增加大量的代码。 于是 Six 出现了。正如它的介绍所说,它是一个专门用来兼容 Python 2 和 Python 3 的库。它解决了诸如 urllib 的部分方法不兼容, str 和 bytes 类型不兼容等“知名”问题。


到这里就可以看出作者这个程序是考虑到 Python 不同版本之间的兼容性问题的,简直业界良心。


wrapacache:一个基于 Python 装饰器 Decorators 的方法缓存系统,用于缓存 Python 方法的输出值,可以支持复杂数据类型,可以缓存到 Redis 中、Python dict、LUR 算法存储中。


ntplib:这个库是用来在 window 上同步校准当地时间的。


三、安装使用



上图在 GitHub 仓库中都有写到。我这里就简单的讲下,首先你需要注册「若快」的打码平台,为了可以让程序自动打码。随后安装程序依赖包,安装方法上面已经写到了。


最后程序有一个很重要的文件叫「ticket_config.yaml」


    

所有购买车票的信息都是在这个文件里配置的,比如车票时间,12306 账号密码,乘车人信息,通知邮箱等等,作者在文件中都有详细的注释。



把这个配置文件按你的需求填写完毕之后,大家就可以开始运行了。


运行 run.py 文件即可,亲测有效!




如果觉得文章对你有所帮助,欢迎留言并且推荐给你的好友。


本文由痴海(ID:ch726612)发布,授权互联网早读课转载。内容仅代表作者独立观点,不代表早读课立场。如需转载,请联系原作者。


产品相关:


增长相关:


登录查看更多
0

相关内容

Python是一种面向对象的解释型计算机程序设计语言,在设计中注重代码的可读性,同时也是一种功能强大的通用型语言。
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
288+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
180+阅读 · 2020年1月1日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
Python | 拯救鉴黄师
计算机与网络安全
5+阅读 · 2018年2月17日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
Knowledge Flow: Improve Upon Your Teachers
Arxiv
5+阅读 · 2019年4月11日
Arxiv
8+阅读 · 2018年11月21日
Arxiv
3+阅读 · 2018年3月13日
VIP会员
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
Python | 拯救鉴黄师
计算机与网络安全
5+阅读 · 2018年2月17日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
Top
微信扫码咨询专知VIP会员