你抢到回家过年的票了吗?春运高峰向来以一票难求著称。很多人已经开始使用各种软件和渠道,希望完成购票计划。按照程序员“懒”的工作作风,肯定是不愿意自己做的。直接写程序岂
你抢到回家过年的票了吗?春运高峰向来以一票难求著称。很多人已经开始使用各种软件和渠道,希望完成购票计划。按照程序员“懒”的工作作风,肯定是不愿意自己做的。直接写程序岂不是省时省力?今天分享GitHub星2万”抢票。“戳右边链接的新智元小程序了解更多信息!
期待着,期待着,
春节快到了,
然而,在每年的这个时候,
最难的部分,
没有什么比回家的火车票更好的了。
[br/]据报道,
今年春运期间,
全国铁路旅客发送量将同比增长8.0%。
多达4.4亿人,
2020年,铁路春运从1月10日开始。
2月18日结束,为期40天。
节前15天和节后25天,
12月12日至今年1月10日火车票正式发售。
再难,家还是要还的,票还是要抢的,所以这周GitHub上用python抢票的项目又回到了榜首。
这个抢票助手是2017年诞生的温显平/testerSunshine。目前这个项目的目标明星已经达到近2万人。可想而知程序员回家有多急!
史上最强抢票助手,12306更新紧随其后。从项目的更新日志可以看到,这个项目的第一次更新是在2017年5月13日。之后一共更新了32次,大部分是作者自己,也有开发者提供支持。
这个项目基本上是随着12306网站的功能更新而更新的,比如去年春运抢票中增加的候补功能,在车票售完时提前付款,等别人退票后自动补票。项目今年也增加了这个功能。
目前这款抢票助手基本支持12306的所有主要功能,包括等效邮件通知、智能待机等。
这款抢票助手堪称史上最强抢票助手。作者在项目后面提供了一个交流群,9个群现在有7个已经满了。你可以想象这是多么强大。
句码,就为了抢一张回家的票。
作者在这个项目上花了很多心血。首先,我们来看看作者的想法。
思路并不复杂,相当紧凑。
首先你需要下载一个自动识别12306验证码的机器学习模型,模型要放在项目的根目录下。
1.模型下载链接:
https://pan.baidu.com/s/1rS155VjweWVWIJogakechA
密码:bmlm
2.git仓库下载:
https://github.com/testerSunshine/12306model.git
(1)cd 12306/
(2)git克隆
https://github.com/testerSunshine/12306model.git
模型的安装需要一些依赖项,如下所示:
满足依赖关系后,您可以安装:
root用户(避免多python环境产生问题):pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt非root用户(避免安装和运行时使用了不同环境):pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
如果很多windows用户无法安装tensorflow,可以适当降低或提高版本。
注意,在此过程中,如果报错为缺少上述列表中的依赖项,只需单独使用pip3安装相应的依赖项包即可。
然后就可以开始项目了。
步骤1:修改配置文件。
# 测试邮箱和server酱是否可用, server酱测试的前提是server酱开关开启# 可以配置server酱提醒(推荐)[配置教程](https://www.jianshu.com/p/8d10b5b9c4e3)# 用python3 还是python 完全取决于安装的时候配置的环境变量是否为python3,以下启动默认环境变量为python3python3 run.py t第二步:启动前筛选cdn
步骤2:启动前筛选cdn
python3 run.py c
步骤3:启动服务。
python3 run.py r
抢票成功后会出现以下结果!
项目地址:
https://github.com/testerSunshine/12306
程序员们是怎么抢火车票的?程序员写代码抢票,最早可以追溯到12306网站刚出现的时候。
2010年初,12306网络购票刚刚出现。一年后,程序员已经在GitHub上写脚本买票了,但当时仅限于查余票。
随后,越来越多的程序员开始“为家编程”,最大的新闻是他们差点毁了GitHub。
2012年,一个叫iFish的大佬开发的插件在春节期间被很多浏览器加载,甚至12306官方还在里面引用了一个资源。
这个插件触发了著名的“12306订票助手搞垮GitHub”事件。
简单来说,这个“订票助手”使用的文件不是普通的静态文件(比如gist),而是一个回购的原始数据。这意味着每次有人请求这个文件时,github都要访问这个repo来找到请求的数据。
并且,如果数据请求失败,将每五秒请求一次该指令,直到成功。所以在春节前十几天的高峰时段,巨大的访问量导致Github被DDOS攻击,不堪重负。
事后作者自己也说:很恐慌。
之后,随着各种支付门票的app的出现,很多人不会为了抢到一张票而选择编码一堆代码,但程序员的执念永远不会熄灭。“面向家庭的编程”,无论多难,都是值得的!
最后,祝大家在今年的春运高峰抢票成功,顺利回家!