滴滴快的的蒼穹數據 是不是都是假的?我每天看它關於同一天的打的數據都是不一樣的
我最近在看滴滴快的的蒼穹資料庫,覺得很是好奇,做得網站也挺有意思的!因為其中只有一周的打車信息,我在不同天看,卻發現同一天的數據,在昨天今天明天看的都是不一樣的,地點都有移動。所以有疑問,這份數據是不是有可能假的,本身只是為了博大數據一個噱頭?
這個數據發回來的json文件有一個data.realDate欄位,所有時間的數據都被映射到這個data.realData上的一周時間了。估計是根據你選擇的天匹配對應的星期X,再做隨機變化而來。
最明顯的證據是,該網頁自己向伺服器發送的請求的date欄位從0取到6,分別是前7天到前1天。而如果date取更大的數話,返回值為空。但是,如果取的值是負數的話。。。。
測試如下Python代碼import requests
import json
def get(cityId=510100,scope=city,date=3,dimension=satisfy,num=1000):
url=http://v.kuaidadi.com/point
params={cityId:cityId,scope:scope,date:date,dimension:dimension,num:num}
res=requests.get(url,params=params)
return json.loads(res.content.decode())
get函數將向伺服器請求一個成都(510100)的滿意度(satisfy),date偏移為3的那天的數據的json文件,然後返回一個解析出的python字典。
get(date=-100000)[result][date]
Out[74]: 1742/10/30
get(date=-100000)[result][realDate]
Out[75]: 20150505
於是你獲得了1742年10月30日的計程車數據!強不強!而且返回值也不是空的,是個看上去像那麼回事的列表。
get(date=-100000)[result][data][0][:10]
Out[76]:
[[, 103.5402, 30.5897, 0.0],
[, 119.5505, 35.4022, 10.0],
[, 117.1486, 36.7361, 0.0],
[, 104.0436, 30.6435, 8.0],
[, 103.9473, 30.5666, 0.0],
[, 104.0667, 30.611, 8.0],
[, 103.6742, 30.6265, 0.0],
[, 109.1322, 21.4562, 9.0],
[, 104.1466, 30.584, 0.0],
[, 104.2509, 30.5827, 0.0]]
所以應該就是從一個基準數據里隨機變化出來的。一天之內對於同一組參數倒返回的是相同的結果,懷疑是隨機種子里包含生成時間和date偏移兩個參數,這樣自然可以產生每天對同一組參數得到相同結果,但不同時間對同一天就會得到不同結果。但由於的確有一周的真實數據,還刻意迎合了星期X的周期性,出來的數據還像那麼回事。但不管怎麼看,這1742年10月30日的「數據」都證明了其不是給你什麼正確的數據。
所以這個數據的正確用法是就獲得最近一周數據,然後期待那個隨機變化幅度不太大,想像自己就在處理2015年5月左右的一周數據。還是有一些參考價值的。畢竟你也搞不到其他免費計程車數據。在另一個地方回答了一次,怎麼在蒼穹(滴滴快的智能出行平台)查看以前計程車數據? - 滴滴出行 - 知乎
最近幾天恰好在這個網站抓數據,所以來回答一下。
我覺得數據應該不是假的。
網站記錄了7*24小時內的車輛數據,既然滴滴快滴軟體的應用時刻必須和伺服器建立聯繫,邏輯上這個網站的數據採集和維護應該沒有太大的難度。
我覺得有以下三個原因造成你感受到的數據不一的現象1. 如果你在官網上靠拖動時間條定位,未必會精確定位到同一時間節點;2. 如果你查看的是『昨天』這個時間點之後的數據,那有很大概率會變,因為未來的數據是根據過去數據預測得到的;
3. 每過一天,網站就會剔除最早一天的數據,添加最新一天的數據,資料庫的變化有時會出現差錯。比如我現在就碰到一例,網站上連續兩天都使用了同一天的數據的情況,時間戳和數據的一致性也證明我的觀點。而我想要聯繫後台卻發現沒發找到任何聯繫方式(囧啊!)。希望我的解釋能給你帶來一些啟發。推薦閱讀: