12306抢票脚本 python_又到疯狂抢票的季节了,用python写一个简单的12306抢票软件...

ca6f748a8ad0aa9a907f3683bce0566d.png

引言

每逢过年就到了12306抢票高峰期,自己总想研究一下12306购票的流程,虽然网上已经很多资料,但是总比不过自己的亲身体会,于是便琢磨着写一个抢票软件,本人比较熟悉python,所以软件是用python写的。

使用工具和库

开发环境是python3.6.2

开发工具是pycharm

辅助工具fiddler(神器)

使用到的重要库:

界面(tkinter)

http请求(requests库)

打包(pyinstaller库)

思考过程

其实本人职业并不是开发人员,任职是测试,但是喜欢平时用python写点小东西,所以开发大大们莫见笑。不废话,说说我才开始做的思考过程。

1.首先代码需要涉及前端和后台两个部分,前端我查了PyQt和Tkinter,觉得我这小东西没必要用PyQt,画个简单的前端即可,所以选择使用Tkinter

2.后台代码就是模拟12306订票流程,所以选择requests库做http请求

3.12306订票流程怎么去分解?fiddler神器帮了大忙,我就去12306官网正常登录购票,把整个流程的包全部抓到,然后分析请求数据和返回数据,后台代码就比较容易写了

4.根据后台代码的逻辑和返回,编写前端的用户提示和跳转

10e85469f6e8896040e4031dbba3ae27.png

模拟12306购票流程

第一步登录:

在你登录12306网站的时候,网页会get一个验证码图片,这个步骤封装方法如下:

def get_img(self):

url="https://kyfw.12306.cn/passport/captcha/captcha-image?login_site=E&module=login&rand=sjrand&{}".format(random.random())

response=self.session.get(url=url,headers=self.headers,cookies=Func12306.cookies, verify=False)

path = os.path.abspath('..')

with open(path+"img.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值