2013-05-10 82 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