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 自动安装 Rising 杀毒软件
Apr 24 Python
python搭建微信公众平台
Feb 09 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
使用python list 查找所有匹配元素的位置实例
Jun 11 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
Python 简单计算要求形状面积的实例
Jan 18 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
Mar 16 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 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
操作Oracle的php类
2006/10/09 PHP
php+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
python实现的重启关机程序实例
2014/08/21 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
String这个类型的class为何定义成final?
2012/11/13 面试题
一些Solaris面试题
2015/12/22 面试题
班组长的岗位职责
2013/12/09 职场文书
财务主管自我鉴定
2014/01/17 职场文书
商铺消防安全责任书
2014/07/29 职场文书
课外访万家心得体会
2014/09/03 职场文书
买房子个人收入证明
2014/10/12 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle