首先你要知洞尘道抢票软件的原理:用程序来模拟人为 *** 作,但是比人为 *** 作速度更快,更精准。
第一,需要学习web前端基础知识,你要会分析售票网站的代码,里面的数据是怎么实现的,现在的网站都是静态的框架(html+css,或者html5),动态的数据(利用javascript实现)。
第二,在第一的基础之上,需要学习编程语言,利用编程语言写爬虫脚本,你可以用python语言或者其他编程语言写脚本都可以,只要能爬取售票网站的数据就行了。根据售票网站的代码格局,设计好专项的爬虫程序,不断的调试再调试,如果你想把你的爬虫脚本打包成软件,还要稍微的学习一下,打包成只是windows平台的还是Linux平台的,还是MACOS(苹果电脑系统)平慎逗台的,还是移动 *** 作平台(手机,安卓还是苹果),不同的平台下打包也不同,做出来后还要不断的测试直到没问题,再考虑怎么将软件上线,这些等等的就不细说了,这个阶段需要耗宽颤卖费些精力了
第三,现在很多网站的防爬虫机制都很强,售票网站的防爬机制更强,所以你需要设计好代码,防止被防爬虫机制把你的程序防下来,这个阶段其实可以放在你学爬虫的阶段里一起学习,这个是至关重要的阶段
第四,你需要顺应时代的变化,经验而谈,售票网站都会定期更新,所以你写的爬虫脚本也要跟着改变。长久下来,如果你做的很好,那么你基本也算IT圈内人了。
不过说句实话,做抢票软件国内市场里也只在春运时期有点作用,平常时间基本没什么人用,官方直接就可以买的,而且这门槛说高不高,说低不低,抢票行里目前已经有很多比较成熟的抢票软件存在了,你要做就必须体现出与那些成熟的app很明显的不同,以及很明显的优势你才能够分一杯羹,不然也搞不出什么。不要听人搞抢票很赚钱,这一行,始终不是长久的,毕竟和黄牛党很类似,不算多么正规的。
还有,说句实在话,可能不太好听,如果哥们你只是脑子一热想搞这个的,没有绝对的毅力,我劝你别趟这浑水。
以上全是经验而谈,实话实说
12306可以说是一个成功型的案例。你对他不好的印象是来自于12306刚出来那年,抢火车票导致各种崩溃,加载不出来,特别难辨认的验证码,还要安装什么安全的证书。
后来几年12306做了重大的底层技术变革,但是网页UI并没有换(关于UI这个东西,更换UI对用户来说是有学习代价的,尤其12306是一款面相全国人民的网页和app,UI是不能随便换的)
所以你就会理所当然的认为现在的12306还是以前的12306,非也,现在的12306每天能扛得住30亿次查询请求。
通过官方的网页、皮毕铁路12306 app、携程、去哪儿、超级火车票,还有各种民间程序员写的抢票工具等等,包括各种浏览器插件不停的刷新抢票。还有人嫌弃自己不是下铺,也要刷刷刷,改成满意的为止。
有一张火车票被退了,其实这张票只是一个区间,比如西安始发,到北京终点这张票被退了,这样按道理来说中间任意经停站到任意经停站都可以买票,等等,会有很多意想不到的需求,包含各种奇葩的组合
综上所述,其实12306的业务逻辑远比淘宝这样的电商要复杂很多
需求分析、系统设计不仅要考虑到全国各省的情况,还要考虑窗口买票,电话买票不受互联网购票的影响。
毕竟在窗口查出一张票,在用户决定买它之前,这张票不可能被互联网购票的人给抢了。也就是说互联网购票在票源稀缺的情况下,和窗口电话购票相比是没有优势的。
互联网购票之所以会失去优势,主要原因做判就是12306购票系统为了支持每天大量的查询请求,把票数的缓存时间调整的极长,笔者目测可能5分钟都不止。
简单说就是现在西安去北京的票是0张,突然有人退了票,这时2个人,一个窗口订票,一个互联网订票。
互联网订票的人刷新发现还是0张,当然他也是不停地刷新,但是得到的是旧的缓存信息
窗口订票的人花了5分钟时间排队,等到他的时候,互联网订票的人刷新出来了一张余票,他点击购买,选乘坐人,提交订单的时候,窗口排队的人也在售票员那里查到了一张余票,这时候互联网订票者提交的订单会失败,窗口订票的人会成功买到这张宝贵的票源。
然而这个故事还没有结束。在窗口购票的那个人开心的拿着自己的票走了之后,互联网购票的人回到票源查询界面刷新发现还是有一张余票,他看纯握改到的还是旧的缓存,点击票源会收到不是最新票源的提示,直到5分钟之后,票源会再次变为0。
简单的来说,12606就是这样设计的,从此春运再多人抢票也不会导致网站直接崩溃,大不了就是余票为0喽。
参考资料:http://network.51cto.com/art/201401/427406.htm
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)