python实现12306火车票查询器


Posted in Python onApril 20, 2017

12306火车票购票软件大家都用过,怎么用Python写一个命令行的火车票查看器,要求在命令行敲一行命令来获得你想要的火车票信息,下面通过本文学习吧。

Python火车票查询器

python实现12306火车票查询器

接口设置

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

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

$ tickets from to date

python实现12306火车票查询器

最终 $ tickets [-gdtkz] from to date

开发环境

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

$ virtualenv -p /usr/bin/python3 venv

通过下面的命令激活它:

$ . venv/bin/activate

解析参数

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

$ pip3 install docopt

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

python实现12306火车票查询器

python实现12306火车票查询器

获取数据

python实现12306火车票查询器

https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-07-01&from_station=SHH&to_station=BJP

python实现12306火车票查询器

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

保存stations.html

python实现12306火车票查询器

python实现12306火车票查询器

python实现12306火车票查询器

python实现12306火车票查询器

显示结果

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

$ pip3 install prettytable

python实现12306火车票查询器

以上所述是小编给大家介绍的python实现12306火车票查询器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python 命令行非阻塞输入的小例子
Sep 27 Python
python控制台英汉汉英电子词典
Apr 23 Python
Python中字典的基本知识初步介绍
May 21 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
PyQt5每天必学之弹出消息框
Apr 19 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python中常用的8种字符串操作方法
May 06 Python
python发送多人邮件没有展示收件人问题的解决方法
Jun 21 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
Dec 27 Python
Python生成词云的实现代码
Jan 14 Python
np.random.seed() 的使用详解
Jan 14 Python
python中的插入排序的简单用法
Jan 19 Python
Python编程修改MP3文件名称的方法
Apr 19 #Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 #Python
Python连接SQLServer2000的方法详解
Apr 19 #Python
Django自定义插件实现网站登录验证码功能
Apr 19 #Python
Python列表切片用法示例
Apr 19 #Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 #Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 #Python
You might like
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
php简单统计中文个数的方法
2016/09/30 PHP
Javascript模板技术
2007/04/27 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
SportsDirect.com新加坡:英国第一体育零售商
2019/03/30 全球购物
关于Java String的一道面试题
2013/09/29 面试题
检察官就职演讲稿
2014/01/13 职场文书
财务科科长岗位职责
2014/03/10 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
求职信结尾怎么写
2014/05/26 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
好人好事演讲稿
2014/09/01 职场文书
公司授权委托书样本
2014/09/15 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis