在前三篇文章的基础上:
12306车站信息爬取(1)——输入条件的判断,包括出发站,到达站,和出发时间,并获取车次信息的链接
12306车站信息爬取(2)——输入出发站,到达站和出发时间,获取车次信息的列表
12306车站信息爬取(3)——使用prettytable模块和colorama模块使输出结果美化
我们已经可以将车站的余票信息获取出来,但是还有一点不足,那就是车票的票价信息没有获取出来,所以,在这篇文章中,主要涉及到的内容有:添加车票的票价信息,使输出结果完整。
(1)解析票价的信息:
我们可以看出,result列表中的信息可以帮我们获取票价之外的信息,但是车票的信息在result的基础上是不能获取出来的。所以,要获取票价的信息,我们需要通过另外的链接或请求。
通过观察车票的页面,我们可以看到票价信息被隐藏起来了,需要手动的去点击查看。
那么我们如何获取请求票价的链接呢?
(在车票信息的页面——>右键——>检查——>Network——>查询——>然后再点击车次下方的三角——>就可以看到如下的信息——>点开就可以看到票价信息)
这时候我们已经找到了票价的信息,请求票价的链接如下所示:
关注链接中的 train_no、from_station_no、to_station_no、seat_types、train_date这几个参数。在与对应的车次的信息进行对比。
我们可以很清楚的看到,票价的请求链接中的信息在result列表中的字符串中都有对应,所以,我们按照之前的方法,将 train_no、from_station_no、to_station_no、seat_types、train_date几个信息获取出来。进而获得请求票价的链接。
(2)解析不同类型的座位的“键”:
如下图所示:
A4:软卧一等卧; O:二等座; WZ:无座;