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

阅读文本大概须要 6.6 分钟。python

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

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

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

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

今天我就给你们介绍一个开源的 Python 抢票程序,亲测有效!我身边已经有不少好友,经过这个程序抢到车票了。不只免费开源,还很是有用。缓存

12306 购票小助手微信

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

https://github.com/testerSuns...ui

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

项目使用到的 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 帐号密码,乘车人信息,通知邮箱等等,做者在文件中都有详细的注释。

image

把这个配置文件按你的需求填写完毕以后,你们就能够开始运行了。

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

在公众号「痴海」中,回复「1024」便可 2019 最新编程资料获取!

痴海

相关文章
相关标签/搜索