如何用python写一个简单的12306抢票软件

如何用python写一个简单的12306抢票软件,第1张

所谓抢票实际上是在开始放票的一瞬间第一个发出请求并点击预订。作为程序员的我们,完全可以让程序来做这件事。我花了几个小时写了一个demo。用到的工具集有:Python3.6, Selenium, chromdriver. 程序本身就是流程性的东西,没有什么可介绍的。代码如下

#

coding=utf-8

from

selenium import

webdriver

from

time import

sleep

import

traceback

TICKET_URI

= '

https://kyfw.12306.cn/otn/leftTicket/init

'

LOGIN_URI

= '

https://kyfw.12306.cn/otn/login/init

'

MY_URI

= '

https://kyfw.12306.cn/otn/index/initMy12306

'

LOGIN

= u'

登录

'

from

splinter.browser import

Browser

from

time import

sleep

import

traceback

TICKET_URI

= '

https://kyfw.12306.cn/otn/leftTicket/init

'

LOGIN_URI

= '

https://kyfw.12306.cn/otn/login/init

'

MY_URI

= '

https://kyfw.12306.cn/otn/index/initMy12306

'

LOGIN

= '

login_user

'

def

login():

brw.find_element_by_id(LOGIN).click()

sleep(

3)

uname

= '123456789

@qq.com

'

pwd

= 'xxxyyyzzz

'

brw.find_element_by_id(

'

username

'

).send_keys(uname)

sleep(

1)

brw.find_

做抢票软件的话。

首先你要知道抢票软件的原理:用程序来模拟人为 *** 作,但是比人为 *** 作速度更快,更精准。

第一,需要学习web前端基础知识,你要会分析售票网站的代码,里面的数据是怎么实现的,现在的网站都是静态的框架(html+css,或者html5),动态的数据(利用javascript实现)。

第二,在第一的基础之上,需要学习编程语言,利用编程语言写爬虫脚本,你可以用python语言或者其他编程语言写脚本都可以,只要能爬取售票网站的数据就行了。根据售票网站的代码格局,设计好专项的爬虫程序,不断的调试再调试,如果你想把你的爬虫脚本打包成软件,还要稍微的学习一下,打包成只是windows平台的还是Linux平台的,还是MACOS(苹果电脑系统)平台的,还是移动 *** 作平台(手机,安卓还是苹果),不同的平台下打包也不同,做出来后还要不断的测试直到没问题,再考虑怎么将软件上线,这些等等的就不细说了,这个阶段需要耗费些精力了

第三,现在很多网站的防爬虫机制都很强,售票网站的防爬机制更强,所以你需要设计好代码,防止被防爬虫机制把你的程序防下来,这个阶段其实可以放在你学爬虫的阶段里一起学习,这个是至关重要的阶段

第四,你需要顺应时代的变化,经验而谈,售票网站都会定期更新,所以你写的爬虫脚本也要跟着改变。长久下来,如果你做的很好,那么你基本也算IT圈内人了。

不过说句实话,做抢票软件国内市场里也只在春运时期有点作用,平常时间基本没什么人用,官方直接就可以买的,而且这门槛说高不高,说低不低,抢票行里目前已经有很多比较成熟的抢票软件存在了,你要做就必须体现出与那些成熟的app很明显的不同,以及很明显的优势你才能够分一杯羹,不然也搞不出什么。不要听人搞抢票很赚钱,这一行,始终不是长久的,毕竟和黄牛党很类似,不算多么正规的。

还有,说句实在话,可能不太好听,如果哥们你只是脑子一热想搞这个的,没有绝对的毅力,我劝你别趟这浑水。

以上全是经验而谈,实话实说

临近放假,相信我们每天都在群聊里或者朋友圈看到一些帮忙抢火车票的信息。看到朋友们抢回家的车票这么辛( bei )苦( can ),结合圈里一些前辈的指点,抱着学习的心态用 Python 做了一个简单的自动化抢票程序,抢到票之后通过绑定的邮箱(比如 QQ )发通知。下面分享主要内容:

然后,开始使劲地码:

1. 定义自动购票的类(初始化属性)

2. 实现登录功能

3. 实现购票功能

4. 邮箱通知付款

还有,网络不好或者 12306 的服务器不稳定的时候,就会卡住,针对这种情况,系统会重复查询:

最后,祝大家都能顺利抢到票.

本文以转载于博客园小帝君的博客


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12124583.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存