Power Query火币网行情数据抓取

Power Query火币网行情数据抓取

火币网行情数据:

Power Query火币网行情数据抓取

我们用Power BI Desktop与Excel 中的Power Query都试了试:

Power BI Desktop中的Power Query 有个Web.BrowserContents函数,从函数名就能知道,这个函数能直接以浏览器方式获取网站的页面信息,虽然这个函数效率不高,但是只要是加载出来的网页,都能获取到数据。

Power Query火币网行情数据抓取

当然这个函数有一个明显的缺点,它是所见即所得,页面上显示啥,获取的数据就是啥,上图中第六列,第七列的数据都是带单位的,这虽然在网页上很直观,但是如果用来做图表或计算,就不好用了。

在Excel的Power Query中只有Web.Contents函数,这个函数获取到的内容即使直接解析成文本,也缺少数据部分,获得的是一个空白页面。

所以如果要抓取信息,我们还要认真分析这个网站:

网站分析

我们查了些资料,火币网的API是ws协议的:

Power Query火币网行情数据抓取

而我们平常那些抓取数据的网站都是http协议。

Power Query火币网行情数据抓取

一旦建立连接之后,就会不停地推送消息:

Power Query火币网行情数据抓取

Pong是时间戳,像心跳一样5秒一次。

而且转递的消息是经过压缩的二进制数据,好在数据并没有加密,只是简单的gzip压缩。

一共有好几个ws,哪个才是我们需要的数据呢?这个带vip就是我们需要的数据。

Power Query火币网行情数据抓取

我们好奇就打开其中一个的K线图来查看:

Power Query火币网行情数据抓取

同样也是ws协议推送数据。

我们对网站的分析就到这里了。

数据获取

为什么不叫数据抓取,叫获取,哈哈,因为这次不能像以往那样通过刷新来直接获得实时数据,需要手动去复制二进制信息过来,解析得到数据,不是自动化过程,要手动获取。

首先,我们选中其中一条数据,复制base64格式:

Power Query火币网行情数据抓取

到Excel或Power BI Desktop中新建空白查询:

把复制的这段文本用#binary变成二进制:

Power Query火币网行情数据抓取

Power Query火币网行情数据抓取

然后解压缩:

Power Query火币网行情数据抓取

然后json解析:

Power Query火币网行情数据抓取

然后展开数据就可以了:

Power Query火币网行情数据抓取

至于这中间的各种列名称的含义是啥,就大家自己去琢磨吧。

我们再来复制一个K线图中的二进制数据:

Power Query火币网行情数据抓取

这里面的数据推送得特别频繁,刷屏很快,但是数据文件都很小,我们来到开头位置,找到kline一样,然后在下面找比较大的数据包复制出来:

Power Query火币网行情数据抓取

然后我们刚刚的过程直接复制一份,把base64换成k就好了,解压缩与解析的部分不用动,当然后面展开的部分不太一样,要重新做。

Power Query火币网行情数据抓取

如我们预料的是15分钟的K线数据:

展开的结果,这个直接有可读的数据标题了:

Power Query火币网行情数据抓取

Id应该是时间戳,可以变成日期时间格式:

Power Query火币网行情数据抓取

这样一个K线数据表就有了。

以上就是关于火币网的行情数据获取的方法。

PowerQuery ¥130.6 购买
展开阅读全文

页面更新:2024-03-08

标签:线图   行情   数据   成文   函数   空白   协议   过程   消息   页面   格式   网页   时间   科技   信息   网站

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top