前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 py12306 购票

使用 py12306 购票

作者头像
王诗翔呀
发布2020-07-06 17:41:32
6460
发布2020-07-06 17:41:32
举报
文章被收录于专栏:优雅R优雅R

这里我们使用 Linux 系统。

安装 Python 环境

首先需要 Python 环境,下面安装了一个 Miniconda,它会带 Python,如果已经有的话可以跳过。

代码语言:javascript
复制
# 安装 Python >= 3.6
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 按照指示一路向下
# 重启终端

安装 py12306

代码语言:javascript
复制
git clone https://github.com/pjialin/py12306
cd py12306 && pip install -r requirements.txt
cp env.py.example env.py

修改配置

上面得到的 env.py 包含了程序所有的配置,有非常好的注释,跟着修改即可。主要是修改账号、密码、购票人和乘车区间、日期等。

另外需要设置下微信推送,使用 Server 酱即可:

代码语言:javascript
复制
# ServerChan 和 PushBear 微信消息推送
# 使用说明,点击下面的链接查看
# ServerChan     http://sc.ftqq.com
# PushBear       http://pushbear.ftqq.com
SERVERCHAN_ENABLED = 1
SERVERCHAN_KEY = 'xxx'

设置完后测试下(免得买到票没收到通知?)

运行购票程序

代码语言:javascript
复制
python main.py

可以使用 nohup 挂在后台:

代码语言:javascript
复制
nohup python main.py &

浏览器通过 127.0.0.1:8008可以访问 Web 端。

如果运行时出现网络错误的提示

修改下面的配置:

代码语言:javascript
复制
# 网络错误问题临时解决方案
# 以IE为例,网页登陆12306 网站: https://kyfw.12306.cn/otn/resources/login.html

# 按F12 调出浏览器调试页面定位到网络选项:
# 在头部Cookie里面查找,RAIL_EXPIRATION 和RAIL_DEVICEID的值 。
# 打开 env.py,查找这两个参数,把值替换成第二步里的RAIL_EXPIRATION 和RAIL_DEVICEID的值,重启刷票脚本即可 愉快的登录刷票了。

CACHE_RAIL_ID_ENABLED = 1
RAIL_EXPIRATION = 'xxx' #浏览12306 网站中的Cache的RAIL_EXPIRATION 值
RAIL_DEVICEID = 'xxx' #浏览12306 网站中的Cache的RAIL_DEVICEID 值

最后,如果有其他问题和需求请查看项目主页:https://github.com/pjialin/py12306[1]

参考资料

[1]

https://github.com/pjialin/py12306: https://github.com/pjialin/py12306

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 优雅R 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 Python 环境
  • 安装 py12306
  • 修改配置
  • 运行购票程序
  • 如果运行时出现网络错误的提示
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档