dataplatform/Utils/TycApi/Dishonest.py

43 lines
1.6 KiB
Python

import json
import math
import requests
from Utils.TycApi.Configure import headers, judege_api_code, conserve_data, DB_SFFX
def get_tyc_data(name):
"""失信人"""
url = 'http://open.api.tianyancha.com/services/open/jr/dishonest/2.0?keyword={}&pageNum=1&pageSize=20'
url = url.format(name)
res = json.loads(requests.get(url, headers=headers).text)
code = res['error_code']
status = judege_api_code(code)
# 返回请求成功则保存result数据
if status == '请求成功':
# 保存首次数据,判断页码
insert = dict()
insert['result'] = list()
insert['total'] = res['result']['total']
insert['result'].extend(res['result']['items'])
if insert['total'] > 20:
total = insert['total']
page_total = math.ceil(total / 20) + 1
for page in range(2, page_total):
url_ = 'http://open.api.tianyancha.com/services/open/jr/dishonest/2.0?keyword={name}&pageNum={page}&pageSize=20'
url_ = url_.format(name, page)
result = json.loads(requests.get(url_, headers=headers).text)
code_ = result['error_code']
status_ = judege_api_code(code_)
if status_ == '请求成功':
insert['result'].extend(result['result']['items'])
else:
continue
conserve_data(DB_SFFX, name, '失信人', insert)
return 'success'
elif status == '无数据':
insert = dict()
conserve_data(DB_SFFX, name, '失信人', insert)
return 'success'
else:
return status