45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
import json
|
|
|
|
import requests
|
|
from Utils.TycApi.Configure import headers, judege_api_code, conserve_data, DB_GSBJ
|
|
|
|
|
|
def general_request(url, company, db, col):
|
|
res = json.loads(requests.get(url, headers=headers).text)
|
|
# 判断请求返回结果中的error_code
|
|
code = res['error_code']
|
|
status = judege_api_code(code)
|
|
# status为请求成功则保存result数据
|
|
if status == '请求成功':
|
|
if col == '十大股东':
|
|
insert = dict()
|
|
insert['timeList'] = res['result']['timeList']
|
|
insert['holderList'] = res['result']['holderList']
|
|
else:
|
|
insert = dict()
|
|
insert['result'] = res['result']['items']
|
|
insert['total'] = res['result']['total']
|
|
conserve_data(db, company, col, insert)
|
|
return 'success'
|
|
elif status == '无数据':
|
|
insert = dict()
|
|
conserve_data(db, company, col, insert)
|
|
return 'success'
|
|
else:
|
|
return status
|
|
|
|
|
|
def get_shareholer_data(name, company_type):
|
|
"""股东信息"""
|
|
if '上市' in company_type:
|
|
url = 'http://open.api.tianyancha.com/services/open/stock/shareholder/2.0?&keyword={}&type=1'
|
|
url = url.format(name)
|
|
res = general_request(url, name, DB_GSBJ, '十大股东')
|
|
return res
|
|
else:
|
|
url = 'http://open.api.tianyancha.com/services/open/ic/holder/2.0?pageSize=20&keyword={}&pageNum=1'
|
|
url = url.format(name)
|
|
res = general_request(url, name, DB_GSBJ, '企业股东')
|
|
return res
|
|
|