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

1

接口设置

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

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

$ tickets from to date

最终 $ tickets [-gdtkz] from to date

2

开发环境

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

$ virtualenv -p /usr/bin/python3 venv

通过下面的命令激活它:

$ . venv/bin/activate

3

解析参数

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

$ pip3 install docopt

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

4

获取数据

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数据库那样格式化显示数据

$ pip3 install prettytable

来源:http://www.sohu.com/a/144252655_236714

云计算免费课程火热开讲中,运维干货内容免费抢先听点击文末“阅读原文”即可免费听运维课当然也有其他IT课程免费听(Java、前端、大数据、Python、设计、C++、嵌入式、网络营销),后台回复“姓名+联系方式+所在+课程名称”也可申请其他免费课程,火速抢先~~~~

PS:记得查收小编送你的免费大礼包呦~

福利 | 一万多套PPT模板等你免费来拿!无条件领取!

免费送 | 1000多套简历模板免费拿,附赠简历制作教程!

免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~

▼▼点击【阅读原文】,免费听5天Linux运维干货分享课,火热开讲中,速来抢!

零基础入门 | 如何用Python实现12306火车票实时查询?相关推荐

  1. 零基础入门智能射频---python的无人机测向天线自动化设计

    前言 多旋翼无人机具有环保.噪音小.体积小.重量轻.成本低.携带方便,具有速度可控.垂直起降.精准悬停等优势,已在民用领域,无人机在农林植保.抢险救灾.物流运输.安防巡检等方面发挥了重要作用:同时在军 ...

  2. Python零基础入门篇㉕〗- Python字典的常用方法

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  3. 〖Python零基础入门篇⑩〗 - Python中的数字类型及应用

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  4. 〖Python零基础入门篇㉚〗- Python中的循环

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  5. 〖Python零基础入门篇㉗〗- Python中集合的常用方法

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  6. 〖Python零基础入门篇㊾〗- Python中的 os 包

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  7. 〖Python零基础入门篇㊽〗- Python中的时间包

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  8. python零基础入门教程会计-Python 19会计(Z)

    spContent=本课基于主讲教师在北京大学讲授数据结构与算法课(Python版)的多年教学实践经验,面向零编程基础的大学生和社会公众,全面讲授Python语言基础,培养学生计算思维的能力,并讲解P ...

  9. 【python零基础入门学习】Python入门,带你快速学习,Python 中文编码

    我们已经学会了如何用 Python 输出  "Hello, World!" ,英文没有问题,但是如果你输出中文字符  "你好,世界"  就有可能会碰到中文编码问 ...

最新文章

  1. linux命令rname,linux的rename命令
  2. 浅谈SpringCloud (二) Eureka服务发现组件
  3. docker部署项目 dockerfile 实战 SpringBoot、flask
  4. vi和vim的基础使用
  5. Ubuntu下报错PCIe Bus Error:severity=Corrected, type=Physical Layer, id=00e8(Receiver ID)
  6. C#综合揭秘——细说多线程(上)
  7. 软键盘挡住输入框问题的终极解决方案
  8. thread.sleep是让哪个线程休眠_Java多线程:多线程基础知识
  9. JS递归算法经典案例与分析
  10. 内部系统自己搭建还是花钱购买?这是一个问题
  11. C语言实现简单卡尔曼滤波
  12. 计算机桌面24小时制设置,时间怎么设置24小时
  13. 后台服务器用户管理模块的解析
  14. 微软和谷歌又要“打”起来了!网友:太好了
  15. Python 可视化神器--Plotly
  16. 淘宝API系列开发,buyer_info买家信息,买家卖家订单官方接口
  17. 华硕电脑进入安全模式的方法
  18. 计算机右击加设备管理器,win10系统计算机右键菜单添加设备管理器的还原步骤...
  19. 【Kafka-分区增加副本】Kafka分区增加副本
  20. 【Matlab基础学习】运筹学-线性规划简单总结

热门文章

  1. 虚猕数藏数字藏品平台如何?平台藏品安全吗?
  2. 《电子数据取证》读书笔记
  3. 【学霸笔记】AlphaGo之父David Silver的强化学习经典课程笔记
  4. 徐一帆主讲浙江工商大学章乃器学院商业模式创新班课程
  5. win10怎么设置不睡眠熄屏?win10设置永不睡眠的方法
  6. QTabWidget 标签页tabBar放在两侧,文字方向改为水平
  7. acwing1014-登山问题
  8. 使用pd的时候,切换窗口,导致虚拟机变成英文输入法的问题解决
  9. Fragment监听touch事件
  10. 虎书学习笔记4:图形学基础数学(隐式二维直线、隐式二次曲线、二维参数曲线、二维参数直线、二维参数圆)