龙空技术网

使用Python获取某网站基金实时估值

程序猿韩三皮 68

前言:

现在各位老铁们对“pgz是什么格式”大约比较注重,朋友们都需要分析一些“pgz是什么格式”的相关资讯。那么小编在网摘上搜集了一些关于“pgz是什么格式””的相关资讯,希望咱们能喜欢,各位老铁们快快来学习一下吧!

获取某基金网站估值原始数据

postman天天基金网接口模拟

python代码实现

import requestsurl = ";payload = {}headers = {}response = requests.request("GET", url, headers=headers, data=payload)print(response.text)

其中006030基金代码

2.使用python解析返回值,将jsonp格式数据转化为json数据

_jsonp_begin = r'jsonpgz('_jsonp_end = r');'def from_jsonp(jsonp_str):    jsonp_str = jsonp_str.strip()    if not jsonp_str.startswith(_jsonp_begin) or \            not jsonp_str.endswith(_jsonp_end):        raise ValueError('Invalid JSONP')    return json.loads(jsonp_str[len(_jsonp_begin):-len(_jsonp_end)])

这里使用正则匹配返回值jsonp数据,使用json.loads方法转字典

3.以json的形式输出返回值

def get_single_data(f_code):    millis = int(round(time.time() * 1000))    try:        base_url = "{0}.js?rt={1}".format(f_code, millis)        response = requests.get(base_url)        resp = from_jsonp(response.text)        return True, resp    except Exception as e:        print(base_url, response.text, str(e))        return False, None

返回字段含义解析

字段名

中文含义

示例

fundcode

基金唯一编码

006030

name

基金名字

南方昌元转债A

jzrq

净值日期,即dwjz对应的日期

2023-08-03

dwjz

单位净值,即前一交易日净值

1.5395

gsz

估算值,即实时估值

1.5476

gszzl

估算增长率

0.53

gztime

估值时间

2023-08-04 15:00

注意事项:

QDII无法获取估算净值数据

完整代码:

import jsonimport timeimport requests_jsonp_begin = r'jsonpgz('_jsonp_end = r');'def from_jsonp(jsonp_str):    jsonp_str = jsonp_str.strip()    if not jsonp_str.startswith(_jsonp_begin) or \            not jsonp_str.endswith(_jsonp_end):        raise ValueError('Invalid JSONP')    return json.loads(jsonp_str[len(_jsonp_begin):-len(_jsonp_end)])# 爬虫获取实时数据def get_single_data(f_code):    millis = int(round(time.time() * 1000))    try:        base_url = "{0}.js?rt={1}".format(f_code, millis)        response = requests.get(base_url)        resp = from_jsonp(response.text)        return True, resp    except Exception as e:        print(base_url, response.text, str(e))        return False, Noneif __name__ == '__main__':    status, fund_json_data = get_single_data("006030")    if not status:        exit(1)    print(fund_json_data)

输出结果:

{

'fundcode': '006030',

'name': '南方昌元转债A',

'jzrq': '2023-08-03',

'dwjz': '1.5395',

'gsz': '1.5476',

'gszzl': '0.53',

'gztime': '2023-08-04 15:00'

}

应用场景:

获取实时估算收益;做量化交易;

标签: #pgz是什么格式