2013-05-10 46 views
3

如果您使用Google財經,則會實時查看股票價格更新。但是,我沒有看到每個價格變化的Ajax請求。它究竟如何接收它的數據?阿賈克斯調用每隔一段時間都會發生,但並非每次價格變動。Google財經如何更新股票價格?

https://www.google.com/finance?q=aapl

+0

我不知道,但我想,谷歌已經從金融部門足夠的權力和利益能得到這樣的信息 – 2013-05-10 15:18:01

+0

我不是關注它如何獲得價格變化,但關注如何在頁面上更新價格。 – KingKongFrog 2013-05-10 15:19:05

+0

如果您右鍵單擊該圖表,您將看到它是基於Flash的,因此它不需要是ajax;如果你只是想要一個類似於ajax的基於JavaScript的解決方案,你可以使用jsonp(http://rvyu.com/zrHK) – mishu 2013-05-10 15:21:16

回答

1

該圖是由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] 
+0

這裏是Python代碼獲取數據http://trading.cheno.net/downloading-google-intraday -historical-data-with-python/ – 2015-08-03 05:52:59

2

這是真的圖表由閃光燈提供,但股票的價格是HTML格式並實時更新。

通過查看連接,您會注意到其中一個連接保持打開狀態。我的猜測是,它提供的數據:

https://www.google.com/finance/qs/channel?VER=8&RID=rpc&SID=628A5B4C83473350&CI=0&AID=0&TYPE=xmlhttp&zx=dcad1i8o61q8&t=1

Connections

+1

基本上是正確的答案。他們正在使用http流式傳輸或推送。 http://en.wikipedia.org/wiki/Push_technology – 2013-05-10 15:53:19