xiao987334176

一、接口

基金实时信息:http://fundgz.1234567.com.cn/js/001186.js?rt=1463558676006

001186为基金代号

 

返回值:jsonpgz({"fundcode":"001186","name":"富国文体健康股票","jzrq":"2016-05-17","dwjz":"0.7420","gsz":"0.7251","gszzl":"-2.28","gztime":"2016-05-18 15:00"});

 

基金详细信息:http://fund.eastmoney.com/pingzhongdata/001186.js?v=20160518155842

 

数据量太大不贴了

还有两个

http://fund.eastmoney.com/js/fundcode_search.js
所有基金名称列表代码

http://fund.eastmoney.com/js/jjjz_gs.js?dt=1463791574015
所有基金公司名称列表代码

 

二、代码示例

这里以python来演示,以501019为例子。

import requests
import json
import re

code = "501019"  # 基金代码
url = "http://fundgz.1234567.com.cn/js/%s.js"%code
# 浏览器头
headers = {\'content-type\': \'application/json\',
           \'User-Agent\': \'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0\'}

r = requests.get(url, headers=headers)
# 返回信息
content = r.text
# content = """jsonpgz({"fundcode":"501019","name":"国泰国证航天军工指数","jzrq":"2020-08-13","dwjz":"1.2327","gsz":"1.2690","gszzl":"2.95","gztime":"2020-08-14 15:00"});"""

# 正则表达式
pattern = r\'^jsonpgz\((.*)\)\'
# 查找结果
search = re.findall(pattern, content)
# 遍历结果
for i in search:
  data = json.loads(i)
  # print(data,type(data))
  print("基金: {},收益率: {}".format(data[\'name\'],data[\'gsz\']))

说明:

请求接口时,url只需要用基金代码即可,不需要时间戳。

返回的数据格式不是标准的json数据,因此需要正则匹配出标准json数据。

得到标准json数据后,就可以取数据了。

 

注意:此接口是返回当天的数据,如果非工作日,返回前一天的数据。

 

执行代码,输出:

基金: 国泰国证航天军工指数,收益率: 1.2690

 

 

本文参考链接:

https://blog.csdn.net/weizhixiang/article/details/51445054

分类:

技术点:

相关文章:

  • 2021-09-20
  • 2021-11-06
  • 2021-10-27
  • 2021-11-17
  • 2021-06-08
  • 2021-11-17
猜你喜欢
  • 2021-11-03
  • 2021-11-16
  • 2021-11-30
  • 2021-10-17
  • 2021-11-14
  • 2021-10-17
  • 2021-12-28
相关资源
相似解决方案