零基础入门 | 如何用Python实现12306火车票实时查询?
大家都用过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火车票实时查询?相关推荐
- 零基础入门智能射频---python的无人机测向天线自动化设计
前言 多旋翼无人机具有环保.噪音小.体积小.重量轻.成本低.携带方便,具有速度可控.垂直起降.精准悬停等优势,已在民用领域,无人机在农林植保.抢险救灾.物流运输.安防巡检等方面发挥了重要作用:同时在军 ...
- Python零基础入门篇㉕〗- Python字典的常用方法
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python零基础入门篇⑩〗 - Python中的数字类型及应用
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python零基础入门篇㉚〗- Python中的循环
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python零基础入门篇㉗〗- Python中集合的常用方法
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python零基础入门篇㊾〗- Python中的 os 包
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python零基础入门篇㊽〗- Python中的时间包
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- python零基础入门教程会计-Python 19会计(Z)
spContent=本课基于主讲教师在北京大学讲授数据结构与算法课(Python版)的多年教学实践经验,面向零编程基础的大学生和社会公众,全面讲授Python语言基础,培养学生计算思维的能力,并讲解P ...
- 【python零基础入门学习】Python入门,带你快速学习,Python 中文编码
我们已经学会了如何用 Python 输出 "Hello, World!" ,英文没有问题,但是如果你输出中文字符 "你好,世界" 就有可能会碰到中文编码问 ...
最新文章
- linux命令rname,linux的rename命令
- 浅谈SpringCloud (二) Eureka服务发现组件
- docker部署项目 dockerfile 实战 SpringBoot、flask
- vi和vim的基础使用
- Ubuntu下报错PCIe Bus Error:severity=Corrected, type=Physical Layer, id=00e8(Receiver ID)
- C#综合揭秘——细说多线程(上)
- 软键盘挡住输入框问题的终极解决方案
- thread.sleep是让哪个线程休眠_Java多线程:多线程基础知识
- JS递归算法经典案例与分析
- 内部系统自己搭建还是花钱购买?这是一个问题
- C语言实现简单卡尔曼滤波
- 计算机桌面24小时制设置,时间怎么设置24小时
- 后台服务器用户管理模块的解析
- 微软和谷歌又要“打”起来了!网友:太好了
- Python 可视化神器--Plotly
- 淘宝API系列开发,buyer_info买家信息,买家卖家订单官方接口
- 华硕电脑进入安全模式的方法
- 计算机右击加设备管理器,win10系统计算机右键菜单添加设备管理器的还原步骤...
- 【Kafka-分区增加副本】Kafka分区增加副本
- 【Matlab基础学习】运筹学-线性规划简单总结