爸妈再也不用担心我抢不到票了

前言

最近在github上闲逛,发现一个用python写的很不错的抢票系统,据说,比12306好用哦并且抢票速度也是非常快的。话不多说,马上就教大家如何一步步使用。各位小伙伴,年尾将至还在为了买一张回家的高铁票,花大把的冤枉钱一下开个VIP、极速、光速嘛?这是基于jupyter运行和docker运行的,不过其他编辑器运行应该也差不多,配置过程是一样的。在jupyter notebook运行%run run.py t可以测试邮箱和server酱是否能收到消息。然后保存文件,在此之前要先运行一下下面两句代码,这是为了py文件修改之后可以在jupyter立即生效的,之前我每次修改TickerConfig.py文件里的参数但是直接在jupyter运行都发现没有修改成功的,要把jupyter关掉重开才行,后面发现运行了这两句代码就可以了。

正文

Step 1

首先进去github项目网址,将项目下载到自己本地电脑。地址在下方:

        https://github.com/testerSunshine/12306

Step 2

    根据网址里面写的操作过程先安装所需的第三方库,从存放12306-master文件夹的目录直接进入cmd,然后运行下列代码。

Step 3

    修改TickerConfig.py文件里面的参数设置。账户密码改为自己的12306账户密码,再根据自己要抢票的时间,车次,乘车人,座位修改相应参数,这些就不细讲了。这里主要讲一下邮箱配置(QQ邮箱)和开启server酱微信通知的操作过程,也是我自己遇到的坑之一。

Step 3.1

邮箱配置的步骤:

     登录QQ邮箱->设置->账户->开启服务,刚开始只开了第一个会报错(SMTPException: STARTTLS extension not supported by server.),所以后来我把三个都打开了,点击开启之后会要你发短信验证,发完之后会收到授权码,这个就是要填在TickerConfig.py里面password的,会有多个授权码,随便哪个都可以。    

Step 3.2

Server酱配置的步骤:

    用github账号登录server酱官网,点微信推送,用微信扫二维码关注server酱公众号绑定账号,然后点发送消息,可以获取SCKEY,这个就是要填在TickerConfig.py里面secret的。

 

Step 3.3

在jupyter notebook运行%run run.py t可以测试邮箱和server酱是否能收到消息。

至此邮箱配置和server酱配置就完成啦!

Step 4

      把云服务器改为本地服务器打码,作者应该写错了,这里要改成本地打码的话是AUTO-CODE_TYPE改为2,HOST改为”captcha:80”,然后保存文件,在此之前要先运行一下下面两句代码,这是为了py文件修改之后可以在jupyter立即生效的,之前我每次修改TickerConfig.py文件里的参数但是直接在jupyter运行都发现没有修改成功的,要把jupyter关掉重开才行,后面发现运行了这两句代码就可以了。

Step 5

要配置一下cookie:

    设置COOKIE_TYPE=3的时候,需要配置RAIL_EXPIRATION、RAIL_DEVICEID的值,怎么找这两个值,打开12306官网,登录界面,按F12,然后找到Network,点开login.html,得到Cookie里面的RAIL_EXPIRATION、RAIL_DEVICEID的值。不过登录一直302,可能要多试几次。

Step 5.1

设COOKIE_TYPE=1的时候要配置chromedriver,查看自己chrome浏览器的版本,浏览器地址栏输入以下地址:chrome://versio,根据下载地址http://chromedriver.storage.googleapis.com/index.html下载与自己chrome版本差不多的chromedriver,存到chrome的文件夹下,然后将CHROME_PATH修改为存放chromedriver的本地路径。

Step 6

    最后就可以运行程序了,在jupyter先运行%run run.py c过滤cdn,就是你不要抢的车次IP,然后再运行%run run.py r,就可以挂起抢票程序了。订票成功的话会发邮件通知和微信通知。

方法二

    如果使用docker运行项目的话,更方便一些,直接按大神的操作指引运行命令就可以了。之前已经下载好了Docker Quickstart Terminal,直接打开软件进入抢票项目目录,然后运行命令就可以了。不过我不太熟悉docker,也看不出运行过程是怎样的,但是第一次是用docker挂起的,成功抢了票,所以应该是没问题的。

最后的最后,会出现载验证码过期或者下载失败的问题,应该是12306封ip的策略,多重试几次。然后暂时抢不到就挂着就行,也好过自己手动查询。

最后

谢谢大家的阅读,原创不易,喜欢就点个赞,这将是我最强的写作动力。如果你觉得文章对你有所帮助,也蛮有趣的,就关注一下我的博客,谢谢。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值