java获取基金实时数据_可视化显示Python爬取基金数据

本文介绍了如何使用Python结合requests、PyExecJs库爬取天天基金网的基金实时数据,通过matplotlib和numpy进行数据可视化。以银河沪深300价值指数(519671)为例,解析519671.js接口获取单位净值和累计净值数据,绘制趋势图。
摘要由CSDN通过智能技术生成

requests:它是一个HTTP 库,可方便的进行web访问;

pip install requests

PyExecJs:它是一个js的执行库,后面我们将会了解到为什么需要这个库;

pip install PyExecJs

matplotlib和numpy:这两个库用于图形化数据分析,大家可以根据《数字信号处理没有Matlab?用Python一样很爽》进行安装;

其他:还需要其他库可根据自己需求进行安装。

根据上面的要求环境配置完成后,就可以进行数据爬取了。

天天基金网是国内知名的基金理财网站,日活用户比较高,有较为专业全面的基金数据,数据更新也较为及时。我们今天就使用Python爬取天天基金网上的数据。

# 天天基金网地址:

https://fund.eastmoney.com

我们进入天天基金网,选取一款基金,我这里就选择银河沪深300价值指数(519671)作为例子。

7462e619e1313a1d411fbd9bfbd3c710.png

那么问题来了,要爬取基金数据我们要找到数据在哪儿?

在我们选择的银河沪深300价值指数(519671)基金页面里,按F12打开调试窗口。

4a2f68cb4452d59b2a72fe9548290d8b.png

在调试窗口中选择Network选项,然后再F5重新载入页面,左侧Name栏将会有各种元素列出来,我们找到519671.js?v=20201026224444并选中,我们在右侧将会看到url地址,如下图。这个地址就是我们获取基金数据的接口。其中,519671是基金代码,20201026224444是当前时间。大家可以按照这个格式根据需要对这两个修改即可。

fe9130a5534a2ae8d48b143faf0f0622.png

那么,我们需要爬取的数据是什么样的呢?可以选择Preview选项,如下图,我们就可以看到关于基金的详细数据。因为这里的数据是js格式的,因此我们就需要PyExecJs库解析这部分代码。

f72ae3bcc1cbe49234a2d58f36a06c56.png

以上,我们知道了如何获取基金数据的地址和如何解析基金数据,下面我们就开始使用Python实践一下吧。

import requests

import execjs

import numpy as np

from matplotlib import pyplot as plt

url = "http://fund.eastmoney.com/pingzhongdata/519671.js?v=20201026224444"

content = requests.get(url)

jsContent = execjs.compile(content.text)

name = jsContent.eval('fS_name')

code = jsContent.eval('fS_code')

#单位净值走势数据

netWorthTrendData = jsContent.eval('Data_netWorthTrend')

#累计净值走势数据

ACWorthTrendData = jsContent.eval('Data_ACWorthTrend')

netWorthTrend = [v["y"] for v in netWorthTrendData]

ACWorthTrend = [v[1] for v in ACWorthTrendData]

plt.figure()

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['axes.unicode_minus'] = False

#单位净值趋势图

plt.subplot(2,1,1)

plt.title(name + " ( " + code + " ) " + "单位净值")

plt.plot(netWorthTrend)

#累计净值趋势图

plt.subplot(2,1,2)

plt.title(name + " ( " + code + " ) " + "累计净值")

plt.plot(ACWorthTrend)

plt.show()

下图就是我们利用爬取的数据画出的单位净值趋势图和累计净值趋势图。

e3afd7d5649072619e86fbf2b811b4d4.png

现在我们理解了爬虫了原理,接口中也提供了大量的数据,后面就需要大家根据自己的需求发挥自己的想象,去实现更多丰富的功能,赶快动手试下吧!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值