如果您使用Google財經,則會實時查看股票價格更新。但是,我沒有看到每個價格變化的Ajax請求。它究竟如何接收它的數據?阿賈克斯調用每隔一段時間都會發生,但並非每次價格變動。Google財經如何更新股票價格?
https://www.google.com/finance?q=aapl
如果您使用Google財經,則會實時查看股票價格更新。但是,我沒有看到每個價格變化的Ajax請求。它究竟如何接收它的數據?阿賈克斯調用每隔一段時間都會發生,但並非每次價格變動。Google財經如何更新股票價格?
https://www.google.com/finance?q=aapl
該圖是由Adobe Flash Player中提供的,所以我不認爲你會看到通過檢查該任何流量。其餘的雖然確實產生呼叫:
https://www.google.com/finance/getprices?q=AAPL&x=NASD&i=120&p=25m&f=d,c,v,o,h,l&df=cpct&auto=1&ts=1368199239667&ei=jw-NUcivEsmrqQGT7wE
將是我所看到的一個例子。
這裏的是來自服務器的響應:
EXCHANGE%3DNASDAQ
MARKET_OPEN_MINUTE=570
MARKET_CLOSE_MINUTE=960
INTERVAL=120
COLUMNS=DATE,CLOSE,HIGH,LOW,OPEN,VOLUME
DATA=
TIMEZONE_OFFSET=-240
a1368197880,452.2847,452.29,451.6,452.0101,35458
1,451.81,452.3,451.661,452.24,91267
2,452.2,452.3,451.8314,451.84,35767
3,451.91,452.3,451.8,452.3,89882
4,452.4575,452.61,451.88,451.88,45130
5,452.77,452.88,452.45,452.48,35866
6,453.626,453.9,453.27,453.3571,0
7,453.05,453.6599,453,453.61,0
8,452.9,453.17,452.83,453.09,0
9,452.58,453.15,452.4377,452.865,0
10,452.7568,453.068,452.45,452.475,0
11,452.53,452.8,452.302,452.75,0
其他呼叫使是:
https://www.google.com/finance/qs/channel?VER=8&SID=6C5BE78E1E7D9597&RID=82123&AID=500&zx=p0b0io9ifynn&t=1
與類似迴應:
10
[1,500,0]
這裏是Python代碼獲取數據http://trading.cheno.net/downloading-google-intraday -historical-data-with-python/ – 2015-08-03 05:52:59
這是真的圖表由閃光燈提供,但股票的價格是HTML格式並實時更新。
通過查看連接,您會注意到其中一個連接保持打開狀態。我的猜測是,它提供的數據:
基本上是正確的答案。他們正在使用http流式傳輸或推送。 http://en.wikipedia.org/wiki/Push_technology – 2013-05-10 15:53:19
我不知道,但我想,谷歌已經從金融部門足夠的權力和利益能得到這樣的信息 – 2013-05-10 15:18:01
我不是關注它如何獲得價格變化,但關注如何在頁面上更新價格。 – KingKongFrog 2013-05-10 15:19:05
如果您右鍵單擊該圖表,您將看到它是基於Flash的,因此它不需要是ajax;如果你只是想要一個類似於ajax的基於JavaScript的解決方案,你可以使用jsonp(http://rvyu.com/zrHK) – mishu 2013-05-10 15:21:16