一、接口
001186为基金代号
返回值:jsonpgz({"fundcode":"001186","name":"富国文体健康股票","jzrq":"2016-05-17","dwjz":"0.7420","gsz":"0.7251","gszzl":"-2.28","gztime":"2016-05-18 15:00"});
数据量太大不贴了
还有两个
二、代码示例
这里以python来演示,以501019为例子。
importrequestsimportjsonimportre
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 insearch:
data=json.loads(i)#print(data,type(data))
print("基金: {},收益率: {}".format(data['name'],data['gsz']))
说明:
请求接口时,url只需要用基金代码即可,不需要时间戳。
返回的数据格式不是标准的json数据,因此需要正则匹配出标准json数据。
得到标准json数据后,就可以取数据了。
注意:此接口是返回当天的数据,如果非工作日,返回前一天的数据。
执行代码,输出:
基金: 国泰国证航天军工指数,收益率: 1.2690
本文参考链接: