12306抢票程序,零基础也能跑起来
首先感谢大佬@罐子里的茶 维护本项目,大佬也录制了视频,这里主要为零基础同学补充图文版。
视频教程:https://www.bilibili.com/video/BV1mK4y1V7cd/
项目原地址:https://github.com/testerSunshine/12306(没有维护了)
访问项目地址:https://github.com/gzldc/12306,点击绿色按钮code
下载项目代码。
如果大家下载很慢,也可以在公众号简说Python后台回复:12306 获取文件。
代码下载好,我们就可以开始后续的操作啦~
首先,我们登录12306官网,并对页面做一个简单的分析。
按F12,调出开发者工具,点击Network,然后点击Preserver log,保证登录后加载页面不会将登录时加载的日志清除,输入账号密码后,点击登录,然后完成滑块验证即可完成登录,此时你需要在加载的网络日志中找到uamauthclient这条日志,如下图所示。
后面,代码中我们会用到这条日志中的两个数据Request Headers
中的Cookie
和Form Data
中的tk
。
开始代码学习。
首先把环境配置好,推荐Python版本3.7.0
,Python环境安装就不介绍了,可以参考:https://mp.weixin.qq.com/s/3U7U_oknYx__JwLAAcnzbQ
然后安装需要的包,终端(cmd)先进入下载好的代码文件路径,然后输入下面指令进行安装。
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple --user
如果出现下图错误:
不慌,先将tensorflow
从requirements.txt
删除,先按上面方法安装其他包,然后输入下面指令安装tensorflow
。
python3 -m pip install tensorflow==1.14.0 -i https://mirrors.aliyun.com/pypi/simple
安装好环境,开始配置代码,首先打开TickerConfig.py
文件,需要进行账号及车票相关配置。
需要将前面获取到的tk
值和Cookie
中的RAIL_EXPIRATION
、RAIL_DEVICEID
值进行配置,用于登录,这样就不需要账号密码的,但可能存在tk
失效情况。
其他设置:
STATION_DATES 出发日期(list) “2018-01-06”, “2018-01-07”
待更新。。。