Files
MoFin/venv/lib/python3.12/site-packages/tushare/pro/client.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

56 lines
1.4 KiB
Python

# !/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Pro数据接口
Created on 2017/07/01
@author: polo,Jimmy
@group : https://waditu.com
"""
import pandas as pd
import json
from functools import partial
import requests
class DataApi:
__token = ''
__http_url = 'http://api.waditu.com/dataapi'
# __http_url = 'http://127.0.0.1:8000/dataapi'
def __init__(self, token, timeout=30):
"""
Parameters
----------
token: str
API接口TOKEN,用于用户认证
"""
self.__token = token
self.__timeout = timeout
def query(self, api_name, fields='', **kwargs):
kwargs.setdefault('ts_type_name', self.__http_url)
req_params = {
'api_name': api_name,
'token': self.__token,
'params': kwargs,
'fields': fields
}
res = requests.post(f"{self.__http_url}/{api_name}", json=req_params, timeout=self.__timeout)
if res:
result = json.loads(res.text)
if result['code'] != 0:
raise Exception(result['msg'])
data = result['data']
columns = data['fields']
items = data['items']
return pd.DataFrame(items, columns=columns)
else:
return pd.DataFrame()
def __getattr__(self, name):
return partial(self.query, name)