1. 首页 > 基金定投

161726天天基金网(EXCEL获取天天基金网每日历史净值数据)

EXCEL获取天天基金网每日历史净值

天天基金网的数据既比较全,又十分容易爬取。

下面就交给大家怎么不用VBA,只使用Excel自带的Power Query获取天天基金网的历史净值数据。

天天基金网的历史净值数据地址为:http://fund.eastmoney.com/f10/F10DataApi.aspx 修改上述地址的参数,即可获取指定基金在指定日期段内的净值数据,例如000001(华夏混合成长)在成立以来2001年12月18日到5月18日之间的基金净值数据为

http://fund.eastmoney.com/f10/F10DataApi.aspx?type=lsjz&code=000001&sdate=2001-12-18&edate=2020-05-18&per=20&page=1

链接中的各参数含义简单说明:各位读者可以直接修改为自己需要的。

  • code=000001:基金代码000001;
  • sdate=2001-12-18:数据开始日期等于2001-12-18
  • edate=2020-05-18:数据结束日期等于2020-05-18
  • per:每页显示的条数,最大为50,为了便于演示,我设置为20条;
  • page:一页显示不完整,该参数直接指定显示第几页。

以上地址提供了为000001(华夏混合成长)在成立以来2001年12月18日到2020年05月18日之间的基金净值数据。复制到浏览器中,结果如下图:

具体步骤如下:

Step-01:新建一个空白的工作表,单击【数据】-【新建查询】-【从其他源】-【自网站】,如下图所示:

Step-02:在新弹出的对话框中输入网址

 

 

 

Step-03:在新弹出的对话框中选择“table0”查询,然后单击【转换数据】,如下图所示:

 

 

 

Step-04:出现第一页的查询结果

 

 

Step-05:单击【视图】-【高级编译器】,观察:

  • 在最前面输入“(page as number) as table =>”,(引号内的部分)然后单击【确定】(构建自定义函数),如下图所示:
  • 把1替换为“" & Number.ToText(page) & "”(引号内的部分,含一层引号)

 

解释:将URL中的现有页面值替换为page参数。由于我们已经指出页面是数值型,因此我们需要使用Number.ToText函数将值转换为文本。更新后的代码如下所示:

Step-06:在下面的参数框里任意的数字就可以查询到任意页码的内容,但是不能抓取多页。如果要一次性抓取多个页码,请看下一个步骤。如下图所示:

 

 

Step-07:新建一个新的空查询,即右键单击【新建查询】-【其他源】-【空查询】,然后在弹出的界面中,在编辑栏里输入公式:=,回车键后生成1至219的列表,最后单击【到表】。如下图所示:

 

 

 

 

 

Step-08:单击【添加列】-【调用自定义函数】-【功能查询】里选择上面步骤的Table0,最后单击确定。如下图所示:

 

 

Step-09:单击扩展按钮,扩展表。如下图所示:

 

 

Step-10:得到抓取的相关数据,到此完成抓取,修改列名,关闭并上载。如下图所示:

 

 

所有的净值数据就到EXCEL中了。抓取结果如下图:一共4380行,加载完成

 

 

 

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ15101117,本站将立刻清除。

联系我们

在线咨询:点击这里给我发消息

微信号:666666