12306购票的testerSunshine带源码刷票

testerSunshine:这款开源 12306 智能刷票,订票项目是基于 Python 语言编写,可在 Windows 或者 Linux 操作系统下运行,其主要功能包括:自动登录、抢准点预售车票、捡漏票、智能候补票、邮件通知等。

  源码附件:https://github.com/testerSunshine/12306

  原理步骤如下:

  12306购票的testerSunshine带源码刷票

 实现这个抢票功能所需要安装的基本软件python,chromedriver(谷歌驱动,自动化驱动谷歌浏览器的一个驱动,python作为自动化操作谷歌的一个自动化程序):

1、首先在win10电脑或者服务器安装python3.6-3.7.4版本的python,安装时候记得点上自动更新到path环境变量下。可参考https://www.jb51.net/article/173502.htm

2、在win7安装python2.7.9-2.7.15版本的python

12306购票的testerSunshine带源码刷票

3、这是谷歌版本与对应的chromedriver版本,查看谷歌版本可打开设置查看,可参考https://blog.csdn.net/BinGISer/article/details/88559532 

4、在https://github.com/testerSunshine/12306下载源码压缩包,推荐放在桌面上

12306购票的testerSunshine带源码刷票

 5、在cmd进入到这个文件夹里,下载这些依赖库,等待十多分钟左右:

cd  C:\Users\xxxxe\Desktop\12306-master

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

6、配置信息文件

打开TickerConfig.py(推荐使用notepad++)

需注意两个地方:

邮件的填写内容,授权码写到password里,不是填qq密码,可参考https://jingyan.baidu.com/article/90895e0f2af42664ec6b0b14.html

12306购票的testerSunshine带源码刷票

   chromedriver(这个路径最好不要有中文,我习惯将chromedriver放到谷歌程序同级目录下)

12306购票的testerSunshine带源码刷票

12306购票的testerSunshine带源码刷票

 如果路径有带中文的话,需要转义符,故字符串前面应该加上r。

7、卸载tensorflow默认版本,安装指定版本

进入cmd

pip uninstall tensorflow

pip3 install tensorflow==1.15.0rc -i https://pypi.tuna.tsinghua.edu.cn/simple/

8、运行程序

cd  C:\Users\xxxxe\Desktop\12306-master

python run.py c       (加载cdn)

python run.py t        (测试邮件收到信息)

python run.py r        (运行抢票程序)

9、如果做完以上操作,在python run.py r出现错误的话,可以根据报错原因查看出错地方,一般都是依赖库,配置信息文件的问题。我总结一下我出错的内容和解决方法:

1)看这个302报错,很明显用户已经登录进12306了,那就是代表依赖库没问题,问题出现在配置信息文件里的登陆后的操作,比如:输入出发时间,出发地,目的地,车次信息等,可以在TickerConfig.py里检查格式问题,注意:出发时间一定是(2020-01-09,年份必须四位数,月日必须两位数)

12306购票的testerSunshine带源码刷票

 2)如果检查配置文件没有错误,还是出现302错误,可以将https://www.12306.cn/index/+url拼接后,浏览器访问。如果是网络出错,那么你现用的ip很有可能被封了,因为你的请求过密会容易被12306官网封掉,可以换其他wifi,改ip再重试。

12306购票的testerSunshine带源码刷票

 12306购票的testerSunshine带源码刷票

12306购票的testerSunshine带源码刷票

 这是能够成功运行的界面。

以上为本人测试可用的12306源码抢票脚本,很感谢分享到github的小伙伴,也希望看到我写的文章的小伙伴,多多支持我,谢谢!

相关推荐