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中的exec、eval使用实例
Sep 23 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 Python
Python实现多线程的两种方式分析
Aug 29 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
django admin 自定义替换change页面模板的方法
Aug 23 Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 Python
Pytorch转tflite方式
May 25 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
python 从list中随机取值的方法
Nov 16 Python
python中Matplotlib绘制直线的实例代码
Jul 04 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统一页面编码避免乱码问题
2015/04/09 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
php新建文件的方法实例
2019/09/26 PHP
基于jquery的时间段实现代码
2012/08/02 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
详解Python self 参数
2019/08/30 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
初中生物教学反思
2014/01/10 职场文书
电子商务实训报告总结
2014/11/05 职场文书
2014年加油站工作总结
2014/12/04 职场文书
运动会1000米加油稿
2015/07/21 职场文书
《藏戏》教学反思
2016/02/23 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server