又是一年一度的抢票大战了。辛苦了一年,想早点订票和家人团聚。所以很多人宁愿多花钱找黄牛买票。但是今年各种抢票软件的泛滥,加上官方的加速包,就算是黄牛也不敢保证能买到票。没办法,你们一起加入抢票大军。从低速不花钱到中速、高速、极速、光速、VIP,共有六种抢票速度。速度越快,抢票机率越高,但每次升级需要花费10个加速包才能实现。加速包获取方式有两种: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实现,可用于参数化Python对象以用作配置文件。六:众所周知,Python2和Python3的分裂给Python开发者带来了很多困扰。为了让代码同时兼容两个版本,往往需要添加很多代码,所以出现了Six。正如它的介绍所说,它是一个旨在兼容Python2和Python3的库。它解决了“众所周知”的问题,例如urllib的某些方法不兼容,str和bytes类型不兼容等。从这里开始,它可见,作者的方案考虑到了不同版本Python之间的兼容性问题,简直是业界良心。wrapcache:基于Python装饰器Decorators的方法缓存系统,用于缓存Python方法的输出值,可以支持复杂的数据类型,可以缓存在Redis、Pythondict、LUR算法存储中。ntplib:此库用于在Windows上同步和校准本地时间。安装使用上图写在GitHub仓库中。我在这里简单说一下。首先,您需要注册“若快”打码平台,才能让程序自动打码。然后安装程序依赖包,上面已经写了安装方法。***程序有一个很重要的文件叫“ticket_config.yaml”:所有购票信息都配置在这个文件里,比如购票时间、12306账号密码、乘客信息、通知邮箱等,作者里面有详细的文件中的注释。根据自己的需要填写好这个配置文件后,就可以开始运行了。运行run.py文件即可,亲测有效,如下图:考虑到部分同学无法访问GitHub,我已将所有文件放在后台,公众号回复“12306”获取.抢到票的同学,别忘了把文章分享给需要的人哦!作者:赤海简介:只要掌握了风,猪也能飞。今天的编程风口“Python”值得大家关注。专注于Python编程的博客池海,每天推送各种Python干货,资源分享,面试真题,爬虫实战,数据分析。但这不仅仅是一门技术公众号,每周还会分享职场、生活、认知的原创文章。强烈推荐想要“提升认知和编程”的朋友关注。
