如何用Excel获取实时股票数据(股票信息如何实时获取)_养生知识_景合财经知识网_景合财经景合财经

景合财经
景合财经知识网站

如何用Excel获取实时股票数据(股票信息如何实时获取)

#如何用excel获得股票实时数据#

首先找一个提供股票数据的网站,各种财经网站都有股票数据,我们以东方财富网为例:

股票信息如何实时获取

沪深A股数据,我们在谷歌浏览器中查看真实网址:

股票信息如何实时获取

找到jQuery行,对应的就是股票数据,然后看头文件中的网址:

股票信息如何实时获取

复制这段网址,到Excel中,数据==> 自网站:

股票信息如何实时获取

点击去确定,就会打开Power Query编辑器,如果一切顺利,会直接出现数据:

股票信息如何实时获取

虽然不是表格,但证明是抓取成功了,接下来就是怎么解析这个二进制文件,从谷歌浏览器中看,这是个jsoncallback数据包,比json数据多了一个函数名称,我们只是需要提取两个括号中间的数据就能用json解析。注意total:4440,等下我们会用到这个数值。

股票信息如何实时获取

=Json.Document(Text.BetweenDelimiters(Text.FromBinary(Web.Contents(url)),"(",")"))股票信息如何实时获取

然后展开数据表:

股票信息如何实时获取

目前为止一切到很顺利,但是我们抓取的只是其中一页的数据,我们来看:

股票信息如何实时获取

pn是页码,我们抓取的是第3页,pz是每页20条数据,我们有两种方法来抓取全部数据,一种是沿用这个pz:20,然后定义函数,抓取全部页码,这个我在之前的抓取中反复用到,今天我们来尝试直接修改pz一次抓取全部数据,其实查询参数都可以试着改变一下,如果我们把pn改成4,抓取的就是第4页的20条,同样道理,我们来修改pn为200,看看是不是直接就能抓取200条数据。

股票信息如何实时获取

那么我们试一下直接输入5000,可不可以全部抓取:

股票信息如何实时获取

看起来是可以的。

还有一个问题,就是数据的标题行全部都是f开头的没有可读性,如何变成网页中的汉字标题行。

这个问题要稍微复杂一点,我们可能要去查看下代码,看看能不能找到替换的办法,首先看html中的:

股票信息如何实时获取

但是这个不全,其中有几列是需要自定义的:

股票信息如何实时获取

这几个指标没有对应的f编码。

我们再看看js文件:

股票信息如何实时获取

这个文件中有对应数据,我们直接复制出来到Power Query中,处理成列表形式备用:

股票信息如何实时获取

接下就是匹配表中的key,修改列名称:

股票信息如何实时获取

首先我们需要匹配出这样一个列表。

List.RemoveNulls(List.Zip(List.Transform(Table.ColumnNames(data),(x)=>List.RemoveNulls(List.Transform({1..List.Count(n[key])},(y)=>if x=n[key]{y-1} then {x,n[title]{y-1}} else null)))){0})

然后我们直接使用Table.RenameColumns函数就可以批量修改列名称了:

股票信息如何实时获取

Table.RenameColumns(data,List.RemoveNulls(List.Zip(List.Transform(Table.ColumnNames(data),(x)=>List.RemoveNulls(List.Transform({1..List.Count(n[key])},(y)=>if x=n[key]{y-1} then {x,n[title]{y-1}} else null)))){0}))

我们把数据加载到Excel中就可以了。

股票信息如何实时获取

如果要最新数据,直接刷新就可以了。

家电维修,空调维修,智能锁维修全国报修号码分享:可以直接拔打400-968-1665 全国各大城市均设网点。
赞(0) 打赏
欢迎转载分享:景合财经 » 如何用Excel获取实时股票数据(股票信息如何实时获取)
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

-景合财经

在线报修网点查询