Power Query 抓取上市公司财务数据,Power BI 动态演示

昨天看了那个Animated Bar Chart Race需要有数据才能做更好的演示,有网友想要抓取上市公司财报,来做股票分析,前些天也试了一下,应该是能够抓取主要的财务数据,大部分的财经网站都提供股票实时信息与上市公司财务数据,数据抓取本来就是要针对网站所能提供的数据来进行分析,然后采取相对应的方法来抓取。

Power Query抓取

Power Query抓取部分的工作要分成三步:

第一步:网站分析

这个部分主要是找到网站数据所在的位置以及数据排列的规律,要使用谷歌浏览器来做网址分析,同时使用Power Query来做单个网页的抓取测试。

抓取股票代码是必须的,一般行情网站提供沪深股市的全部股票代码,这里显示一共有151页每页24行数据,页码是从0-150,具体的URL通过谷歌浏览器,右键检查中的network中可以查看到。

Power Query 抓取上市公司财务数据,Power BI 动态演示

再有就是具体的财务数据,打开任意一个公司的页面,中间的财务分析下就有对应的财务数据,这里我只需要主要财务数据,真实的URL中都是通过股票代码来访问的。

Power Query 抓取上市公司财务数据,Power BI 动态演示

第二步:自定义抓取函数

1、首先是抓取股票代码列表的的自定函数:

其实自定义部分挺简单的,先要正常的建立一个从web的查询,然后通过一步一步的操作找到最终的这个页面上的24个股票代码:这个例子中股票代码隐藏在一个JSON格式的数据中,要通过JSON解析出来。

Power Query 抓取上市公司财务数据,Power BI 动态演示

然后在这个查询上右键>创建函数

Power Query 抓取上市公司财务数据,Power BI 动态演示

会出来一个没有参数的提示,略过提示,就是给函数起名字:

Power Query 抓取上市公司财务数据,Power BI 动态演示

直接打开高级编辑器,进行修改,在空的括号中输入p做为这个函数的参数,在url中找到&page=0&把0用“&p&”替换掉,替换之后是这个样子的:

&page="&p&"&

Power Query 抓取上市公司财务数据,Power BI 动态演示

这样这个自定义函数就写好了,有一个要注意的地方,这里的p是文本,在使用时如果建立0-150的列表之后,记得转换成文本之后再使用函数。

2、抓取具体数据的自定义函数:

同样要先 抓取一页数据的查询,包裹中间的处理步骤:我是不拍行数多,直接给逆透视了。

Power Query 抓取上市公司财务数据,Power BI 动态演示

同样右键创建函数,修改参数,这个可以很清楚的看到,修改的两处。

Power Query 抓取上市公司财务数据,Power BI 动态演示

第三步:抓取数据

先建立一个列表转换成表,设置成文本,引用第一个获取股票代码的函数生成股票代码列表:

Power Query 抓取上市公司财务数据,Power BI 动态演示

然后排下序:

Power Query 抓取上市公司财务数据,Power BI 动态演示

再调用抓取数据的函数来取得数据:

Power Query 抓取上市公司财务数据,Power BI 动态演示

展开得到需要的结果:

Power Query 抓取上市公司财务数据,Power BI 动态演示

到这里抓取数据的工作就准备好了,抓取却是个漫长的过程,我这8核16G内存抓了将近2个小时,300万行的数据。

Power Query 抓取上市公司财务数据,Power BI 动态演示

150万行用时40分钟

Power Query 抓取上市公司财务数据,Power BI 动态演示

Animated Bar Chart Race

这个就比较简单了,这里有个度量值要写,财务数据中基本都是当期的累计值,一年4个季度,如果一年为跨度来看,就要看年报数据,所以写个度量值取出一年4次报表中日期最新的那份报表对应的数据就可以了。

Power Query 抓取上市公司财务数据,Power BI 动态演示

再有就是注意修改年份的不汇总:

Power Query 抓取上市公司财务数据,Power BI 动态演示

最后放上一段录制的效果:

Power Query 抓取上市公司财务数据,Power BI 动态演示

更多关于Power Query 网络抓取的介绍请观看:

展开阅读全文

页面更新:2024-03-04

标签:上市公司   财务数据   度量   报表   函数   股票代码   演示   文本   浏览器   提示   参数   页面   简单   动态   数据   列表   科技   网站

1 2 3 4 5

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

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

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

Top