testerSunshine:这款开源 12306 智能刷票,订票项目是基于 Python 语言编写,可在 Windows 或者 Linux 操作系统下运行,其主要功能包括:自动登录、抢准点预售车票、捡漏票、智能候补票、邮件通知等。
源码附件:https://github.com/testerSunshine/12306
原理步骤如下:
实现这个抢票功能所需要安装的基本软件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
3、这是谷歌版本与对应的chromedriver版本,查看谷歌版本可打开设置查看,可参考https://blog.csdn.net/BinGISer/article/details/88559532
4、在https://github.com/testerSunshine/12306下载源码压缩包,推荐放在桌面上
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
chromedriver(这个路径最好不要有中文,我习惯将chromedriver放到谷歌程序同级目录下)
如果路径有带中文的话,需要转义符,故字符串前面应该加上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,年份必须四位数,月日必须两位数)
2)如果检查配置文件没有错误,还是出现302错误,可以将https://www.12306.cn/index/+url拼接后,浏览器访问。如果是网络出错,那么你现用的ip很有可能被封了,因为你的请求过密会容易被12306官网封掉,可以换其他wifi,改ip再重试。
这是能够成功运行的界面。
以上为本人测试可用的12306源码抢票脚本,很感谢分享到github的小伙伴,也希望看到我写的文章的小伙伴,多多支持我,谢谢!
原文地址:https://www.cnblogs.com/yunsi/p/12118523.html