您的位置:

python的查车票小工具(python购买火车票)

本文目录一览:

实验楼python实现火车票查询工具怎么在windows上运行

把D:\python-2.7.3\加到path的环境变量里面就行,不要写成D:\python-2.7.3\python,我看你现在就写成了后面那个。因为你加到path里的应该是一个目录,然后你在命令行里面输入python的时候,它会自动到path变量里面的各个目录底下去找存不存在python.exe这个程序。所以你在path里面输入的应该是目录,也就是D:\python-2.7.3\就可以了。然后到hello.py在的目录底下,也就是D盘,执行pythonhello.py就行了。p.s.最简单在某一个目录底下打开命令行的方式是在“我的电脑”浏览那个目录的时候“shift+右击鼠标”,然后菜单里面有一个“在此处打开命令窗口”就行了。这样就不需要用cd去切换了。

python 火车票查票的代码 其中 e=re.findall('%s\|([^|]+)' % e,cont)[0]

'%s\|([^|]+)' % e

这是" 格式化字符串%参数 "的形式 '%s\|([^|]+)' 是用于格式化的字符串,%e e是参数

%s表示将e作为字符串打印 '\|([^|]+)' 于'|([^|]+')相同,如e 为hello,这个字符串就是

'hello|([^|]+)' 这就是实际传给findall的正则表达式,这样正则就不对吧

如果字符串前有r才对吧,e=re.findall(r'%s\|([^|]+)' % e,cont)[0] ,这样提取findall查找到的列表中下标为0的第一个值

python新手代码是什么?

python新手代码是:

1、shuizitiqu.py——————数字提取。

2、socker_ping.py——————长ping 检测网络状态。

3、spider_tieba.py——————爬取百度贴吧图片。

4、tianqi.py——————微信自动回复天气。

5、ticket_searchTrain.py——————12306火车票查询。

6、ticket_stations.py——————12306火车站点。

7、txt.py——————txt文件抽取。

8、weixinhuifu.py——————微信自动回复天气。

9、xlsfile.py——————xls文件提取。

在哪里可以找一些python项目做做?

去猪八戒上去看看吧,或者去github 上看看评分很高的那种,还有就是买几本实战的书籍,一步一步完成这样收获是最多的了。祝你好运!

Python 实现一个火车票查询的工具

使用 python 实现一个查询火车票的小工具

主要功能:

输入出发车站,到达车站,时间,然后返回所有的车次信息,和余票信息

支持输入附加选项查询不同的火车的类型,比如高铁,动车。

#查询上海到北京2017-04-25的高铁和动车的车票,-g -d 是附加选项 表示高铁和动车

python3 trains.py -gd 上海 北京 2017-04-25

运行结果:

1. 对12306网站买票过程抓包分析

点击查询之后,通过抓包发现返回了一个json的文件,查看这个文件,就是保存着具体车次的信息。抓包如下图所示。

请求的url 是:

GET /otn/leftTicket/query?leftTicketDTO.train_date=2017-04-20leftTicketDTO.from_station=TJPleftTicketDTO.to_station=TYVpurpose_codes=ADULT HTTP/1.1

发现这个请求使用的是get方法,然后传递了四个参数,一个是出发站,一个是到达车站,一个是成年人or学生,最后一个是时间。如下图:

但是有一个问题是,我输入的是天津到太原,但是这个却转换成了拼音的简称。必须要找到这个转换的字典是什么,这样才能正确的使用这个接口。

在网页的源代码找到这个文件,station_name.js 文件,如下图:

js文件的格式是,如下图,使用的话,必须要想用正则表达式处理一下:

2. 使用正则表达式处理这个js文件

使用正则表达式,将js 文件里面的车站名字和对应的简称提取出来,然后写入到一个station.py 文件里面,作为字典,程序运行的时候,将这个文件以模块的形式包含进去。

关于正则表达式,先占一个坑,以后在详细的写。

正则表达式的代码:

运行的时候:

# 将输出重定向到一个新的文件stations.py里面python3 test3.py stations.py

3. 使用docopt 优雅的完成命令行的输入

docopt 是一个很优雅的处理输入的一个模块,docopt可以根据你写的文档描述,可以自动为你生成解析器,可以非常容易的为你的python程序创建命令行界面。

4. 主程序

4.1 处理url

4.2 输出

运行结果:

5. 使用prettytable模块 优雅的输出

详细:

作者 sexycoder 本文转载自简书,转载需授权