先上一张图
可以清楚的看到由于采用的是http协议,所以很容易就看的到json数据。
分析下包头,找到请求方法GET,看看,拿到这个谁都能请求了,改天有空把所有站点都爬下来。
主要分为两个请求
一,查找站点信息,其中经纬度,途经站点,运营时间,运行方向,线路代码,线路名称等等都以json数据方式返回。
二,实时线路查询,10s执行一次,更新到前台动态显示。
注:chrome上有一个插件’jsonview‘,以human方式输出json。一份结构清晰的数据对理清逻辑思路很有帮助。
简单分析几个参数
k=bus_live 实时公交
k=line_stops 公交线路
token =
timestamp=1488258880423 时间戳
callback=flightHandler_line_stops_by_k 回调函数名称 通过k回调站点线路信息
callback=flightHandler_bus_live_only 回调还有几站到达
callback=flightHandler_bus_live 回调实时线路信息
调试时候发现,很多的参数没什么实际作用。
比如token请求时不携带也完全没有问题。
比如时间戳,不携带也没有问题。这里存疑,可能公交车运营时间夏季和冬季会有调整也不好说。
再返回的json数据中,也存在一些空空空的字段。没有开发文档也不知道当时想要对应上什么功能的,不管他。
拿到数据接口就可以考虑我们自己想要实现的功能了。