微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python爬虫之12306网站--火车票信息查询

Python爬虫之12306网站--火车票信息查询

1.火车票信息查询是基于车站信息查询,先完成车站信息查询,然后根据车站信息查询生成URL地址查询当前已知出发站和目的站的所有车次车票信息

2.json文件存储当前从出发站到目的站的所有车次的详细信息

3.对json文件进行分析

4.分类查询车票(高铁、火车)

1.json文件:在12306页面选择"车票"》"单程",打开"开发人员工具",然后输入出发地、目的地

对json文件进行分析,发现是嵌套的字典,车次的所有详细信息存储在"result"中

选择一条数据然后对其进行分析,找到自己想要的数据(例如车次在的位置,出发站、到达站、座位的种类等等)

这里用的是notepad++软件,把"|"替换为"\r",这样就方便自己找到想要的数据对应的位置

代码如下:

查询 ===txt[:-2].split()[1 stations= record =record.split(2]]={:rlist[1],:rlist[3],:rlist[4]} =input(%s站:%= id,station s1 (( len(r1)==1=( i (i+1,r1[i][1][=int(input())-1==getcode(=getcode(=input(=(查询条件是:出发站=%s,到达站=%s%(stations[fromstation][],stations[tostation][=requests.get(qurl).json()[][] 文件存储当前从出发站到目的站的所有车次的详细信息 result= i =i.split(=list[3=stations[list[6]][=stations[list[7]][=list[8=list[9=list[32=list[31=list[23=list[26=list[28=list[30=list[29 ( i n (i[n],end=()

运行效果如下:

上面显示的太不友好了,这里用prettytable库(需要安装)

prettytable prettytable ............ ............ table=prettytable([,,,,,,,,,,, i 1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11(table)

运行效果如下:

分类查询车票

prettytable prettytable url1===txt[:-2].split()[1 stations= record =record.split(2]]={:rlist[1],type(ainf)) result=== i =i.split(=list[3=stations[list[6]][=stations[list[7]][=list[8=list[9=list[32=list[31=list[23=list[26=list[28=list[30=list[29 checi[0] [, (退出=int(input( show==1=prettytable([, i show==2=prettytable([, i show==3=prettytable([, i show==4(查询结束! (错误请重新输入!)

运行效果如下:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐