python实现火车票查询_python实现12306火车票查询器

12306火车票购票软件大家都用过,怎么用Python写一个命令行的火车票查看器,要求在命令行敲一行命令来获得你想要的火车票信息,下面通过本文学习吧。

Python火车票查询器

接口设置

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

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

?

最终$ tickets [-gdtkz] from to date

开发环境

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

?

通过下面的命令激活它:

?

解析参数

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

?

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

获取数据

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

显示结果

prettytable这个库可以让我们它像MySQL数据库那样格式化显示数据

?

以上所述是小编给大家介绍的python实现12306火车票查询器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/python233/article/details/70244554

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python字符串用法_笔记:python字符串的使用

Python 没有表示单个字符的字符类型,只有字符串类型str。字符串是用单引号或双引号括起来的一系列字符。单引号表示的字符串中可以包含双引号字符,但不能直接包含单引号字符(否则无法知道字符串的开始和结尾分别在哪里)。同样,双引号表示的字…

new出来的对象怎么回收_JVM的内存模型及垃圾回收算法

1、什么是jvm:虚拟出来的计算机,是jre的一部分,使用jvm是为了支持与操作系统无关,实现跨平台,jvm内部体系结构主要分为三个部分:类加载器子系统,运行时数据区和执行引擎。2、jvm内存区域运行时数…

条令考试小程序辅助器_可以自己编题的答题软件,自定义题库考试出题工具,微信答题小程序...

自制题库自己编题的答题小程序要如何制作?今天给大家介绍下可以自己编题的答题软件,自制题库软件在微信小程序里自己出题,然后给别人来答题。每个人都可以通过这个小程序系统出考题,然后给到别人答题(自己、同事、学生…

python36 mysql_python-day36(初识MySQL数据库)

一. MySQL 介绍数据库分类:1. 关系型数据库(RDBMS)Oracle数据库MySQLl数据库MariaDB数据库SQL Server数据库Access数据库其他不常用关系型数据库: DB2,PostgreSQL,Informix,Sybase2. 非关系型数据库(Nosql)NOSQL>>>>> Not Olnly SQL键值(Key-Value)存储数据库me…

python解二元二次方程_寻找两个椭圆的交点(Python)

首先,您应该能够在一个方向上重新缩放椭圆。为此,需要将椭圆的系数计算为二次曲线,重新缩放,然后恢复椭圆的新几何参数:中心、轴、角度。然后你的问题减少到找到从椭圆到原点的距离。要解决最后一个问题,你…

mysql jion 三张_mysql三张表 left join

1.建表和数据学生表DROP TABLE IF EXISTS student;CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT,name varchar(30) DEFAULT NULL,classid varchar(30) DEFAULT NULL,PRIMARY KEY (id)) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8;-- -------------------…

编写有效用例电子版_软件测试人员必须编写代码吗?

相信每一个刚入门软件测试的小伙伴都会琢磨一个问题:软件测试人员,要不要写代码?其实这个问题同样困扰着已经在测试行业闯荡了几年的测试小司机们。那今天,我就来给大家分析一下~01各种软件测试角色一般而言软件测试大体可以分为两…

mysql sqlserver firstrow=2_将CSV文件导入SQLServer

基于SQL Server的CSV导入1)CSV文件数据可能具有,(逗号)中间(Ex:Description),那么如何使导入处理这些数据?解如果你用,(逗号)作为分隔符,就无法区分数据中的逗号作为字段终止符和逗号。我会用不同的FIELDTERMINATOR喜欢||..代码看…

bert 中文 代码 谷歌_ELECTRA中文预训练模型开源,110个参数,性能媲美BERT

感谢参考原文-http://bjbsair.com/2020-03-27/tech-info/7050/ 在去年11月份,NLP大神Manning联合谷歌做的ELECTRA一经发布,迅速火爆整个NLP圈,其中ELECTRA-small模型参数量仅为 BERT-base模型的1/10,性能却依然能与BERT、RoBERTa等…

python开发系统架构设计师_系统架构设计师在线题库

该课程包含了三大重磅性课程,学员 可以分三个阶段进行学习,一步一个脚印深入巩固SpringBoot知识体系栈、消息中间件RabbitMQ以及分布式锁的实现方式1、SpringBoot实战知识体系~从菜鸟到小牛 本课程可以让学员一步一个脚印学习当前微服务SpringBoot项目开…

监督学习和无监督学习_机器学习的要素是什么? 有监督学习和无监督学习两大类...

如前所述,机器学习是AI的一个子集,通常分为两大类:有监督学习和无监督学习。监督学习教学AI系统的常用技术是通过使用大量带标签的示例来训练它们。这些机器学习系统被馈入大量数据,这些数据已被注释以突出显示感兴趣的功能。这些…

如何用python计算levenshteindistance_Levenshtein计算相似度距离

使用Levenshtein计算相似度距离,装下模块,调用下函数就好。拿idf还得自己去算权重,而且不一定准确度高,一般做idf还得做词性归一化,把动词形容词什么全部转成名词,很麻烦。Levenshtein.distance(str1,str2)…

pythoncsv文件的操作_python操作CSV文件

概念:CSV是逗号分隔值或者字符分割值,其文件以纯文本形式存储表格数据。CSV文件可以用文本文件或者转换成EXCEL(直接用EXCEL也可以,但是可能会有一些问题)打开。因此更适合通过CSV文件进行程序之间转移表格数据。应用场景:需要进行…

欧姆龙变频器MX2参数_第442期丨【源程序】基于三菱西门子欧姆龙松下PLC实现喷水池控制系统;欧姆龙PLC编程软件更新步骤...

论坛周刊1 Dec 2019本期论坛周刊精彩内容:1、【源程序】基于三菱\西门子\欧姆龙\松下PLC实现喷水池控制系统2、欧姆龙PLC编程软件更新步骤3、RSLinx Classic EntherNet/IP配置4、这个运动控制算厉害么5、施耐德、ABB、西门子接连登门拜访往期精选▼第441期丨施耐德电…

linux两台服务器 同一个地址_【网工玩Linux】搭建开源多运营商(ISP)链路负载均衡器...

今天,主要想讲一下如何利用Linux内核功能,搭建与市面上十几万的商用产品(F5、RADWARE等)功能相同的多互联网线路负载均衡设备。负载均衡,相信各位是了解的。主要包括两大类,一类是应用负载均衡,…

hive 和mysql配置_Hive学习和配置Mysql

1.Hive简介 起源自facebook由Jeff Hammerbacher领导的团队 构建在Hadoop上的数据仓库框架 设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据 2008年facebook把hive项目贡献给Apache Hive的组件与体系架构 用户接口:shell, thrift, web等…

python拦截修改数据包_会Python?那么你一定要试一试mitmproxy

mitmproxy 是一款工具,也可以说是 python 的一个包,使用这个工具可以在命令行上进行抓包(现在也可以在web页面上查看上抓的数据包了),还可以对所抓到的包进行脚本处理,非常有用。和 fiddler 或charles 等接口抓包工具相比&#xf…

java sha1_java使用SHA1加密算法详解

java使用SHA1加密算法程序源码://下面四个import放在类名前面 包名后面import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Arrays;public static String getSha1(S…

java调用hbase_Java调用Hbase

1、java调用hbase时(hbase0.96)报以下错误:Exception in thread "main" java.io.IOException: java.lang.reflect.InvocationTargetExceptionat org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:383)at org…