前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >零基础用Python | 实现12306火车票实时查询

零基础用Python | 实现12306火车票实时查询

作者头像
小小科
发布2018-05-03 11:45:25
7840
发布2018-05-03 11:45:25
举报
文章被收录于专栏:北京马哥教育北京马哥教育

大家都用过12306,今天我们来学习写一个Python程序,要求在命令行敲一行命令来获得你想要的火车票信息。

1

接口设置

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

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

代码语言:javascript
复制
$ tickets from to date
代码语言:javascript
复制
最终 $ tickets [-gdtkz] from to date

2

开发环境

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

代码语言:javascript
复制
$ virtualenv -p /usr/bin/python3 venv

通过下面的命令激活它:

代码语言:javascript
复制
$ . venv/bin/activate

3

解析参数

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

代码语言:javascript
复制
$ pip3 install docopt

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

4

获取数据

代码语言:javascript
复制
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数据库那样格式化显示数据

代码语言:javascript
复制
$ pip3 install prettytable
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档