大家都用过12306,今天我们来学习写一个Python程序,要求在命令行敲一行命令来获得你想要的火车票信息。
1
接口设置
先给这个小应用起个名字吧,既然及查询票务信息,那就叫它tickets
我们希望用户只要输入出发站,到达站以及日期就让就能获得想要的信息,所以tickets应该这样被使用:
$ tickets from to date
最终 $ tickets [-gdtkz] from to date
2
开发环境
用virtualenv建立虚拟环境,用Python3开发,
$ virtualenv -p /usr/bin/python3 venv
通过下面的命令激活它:
$ . venv/bin/activate
3
解析参数
Python有很多写命令行应用的工具,我们选用docopt这个简单易用的工具,我们先安装它:
$ pip3 install docopt
docopt可以按我们在文档字符串中定义的格式来解析参数,
4
获取数据
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数据库那样格式化显示数据
$ pip3 install prettytable
来源:http://www.sohu.com/a/144252655_236714
云计算免费课程火热开讲中,运维干货内容免费抢先听,点击文末“阅读原文”即可免费听运维课!当然也有其他IT课程免费听(Java、前端、大数据、Python、设计、C++、嵌入式、网络营销),后台回复“姓名+联系方式+所在+课程名称”也可申请其他免费课程,火速抢先~~~~
PS:记得查收小编送你的免费大礼包呦~
免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~
▼▼点击【阅读原文】,免费听5天Linux运维干货分享课,火热开讲中,速来抢!