首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >零基础用Python | 实现12306火车票实时查询

零基础用Python | 实现12306火车票实时查询

作者头像
小小科
发布2018-05-03 11:45:25
发布2018-05-03 11:45:25
98900
代码可运行
举报
文章被收录于专栏:北京马哥教育北京马哥教育
运行总次数:0
代码可运行

大家都用过12306,今天我们来学习写一个Python程序,要求在命令行敲一行命令来获得你想要的火车票信息。

1

接口设置

先给这个小应用起个名字吧,既然及查询票务信息,那就叫它tickets

我们希望用户只要输入出发站,到达站以及日期就让就能获得想要的信息,所以tickets应该这样被使用:

代码语言:javascript
代码运行次数:0
运行
复制
$ tickets from to date
代码语言:javascript
代码运行次数:0
运行
复制
最终 $ tickets [-gdtkz] from to date

2

开发环境

用virtualenv建立虚拟环境,用Python3开发,

代码语言:javascript
代码运行次数:0
运行
复制
$ virtualenv -p /usr/bin/python3 venv

通过下面的命令激活它:

代码语言:javascript
代码运行次数:0
运行
复制
$ . venv/bin/activate

3

解析参数

Python有很多写命令行应用的工具,我们选用docopt这个简单易用的工具,我们先安装它:

代码语言:javascript
代码运行次数:0
运行
复制
$ pip3 install docopt

docopt可以按我们在文档字符串中定义的格式来解析参数,

4

获取数据

代码语言:javascript
代码运行次数:0
运行
复制
https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-07-01&from_station=SHH&to_station=BJP

https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8955

保存stations.html

5

显示结果

prettytable这个库可以让我们它像MySQL数据库那样格式化显示数据

代码语言:javascript
代码运行次数:0
运行
复制
$ pip3 install prettytable
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档