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实现HTTP协议下的文件下载方法总结
Apr 20 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
Python玩转PDF的各种骚操作
May 06 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
tensorflow 自定义损失函数示例代码
Feb 05 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
python import 上级目录的导入
Nov 03 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
详解python网络进程
Jun 15 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使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
js实现表格字段排序
2014/02/19 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
详解适配器在JavaScript中的体现
2018/09/28 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
Python中统计函数运行耗时的方法
2015/05/05 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
python数据结构之列表和元组的详解
2017/09/23 Python
python实现聚类算法原理
2018/02/12 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Flask-Mail用法实例分析
2018/07/21 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
基于Python fminunc 的替代方法
2020/02/29 Python
pycharm导入源码的具体步骤
2020/08/04 Python
django有哪些好处和优点
2020/09/01 Python
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
新加坡交友网站:be2新加坡
2019/04/10 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
尊师重教演讲稿
2014/09/04 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
投诉书范文
2015/07/02 职场文书
敬老院活动感想
2015/08/07 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript