【问题标题】:How does Google Finance update stock prices?Google 财经如何更新股票价格?
【发布时间】:2013-05-10 15:16:45
【问题描述】:

如果您使用 Google 财经,您会看到实时的股票价格更新。但是,我没有看到每次价格变化的 ajax 请求。它究竟是如何接收数据的? ajax 调用确实经常发生,但不是针对每次价格变化。

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

【问题讨论】:

  • 我不知道,但我猜谷歌有足够的权力和金融部门的兴趣来获取这些信息
  • 我不关心它是如何获取价格变化的,而是它如何在您在页面上更新价格。
  • 如果您右键单击该图表,您会看到它是基于 Flash 的,因此它不需要是 ajax;如果你只想要一个类似于 ajax 的基于 javascript 的解决方案,你可以使用 jsonp (rvyu.com/zrHK)

标签: ajax


【解决方案1】:

图表确实是flash提供的,但是股票的价格是HTML格式的,并且是实时更新的。

通过查看连接,您会注意到其中一个连接保持打开状态。我的猜测是它提供了数据:

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

【讨论】:

【解决方案2】:

该图表由 Adob​​e 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]

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-11-03
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 2022-06-27
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多