UPDATE
This commit is contained in:
parent
7aa2bb1c76
commit
72d0995e74
|
@ -0,0 +1,13 @@
|
||||||
|
/db/__pycache__/__init__.cpython-38.pyc
|
||||||
|
/db/__pycache__/tyc.cpython-38.pyc
|
||||||
|
/.idea/.gitignore
|
||||||
|
/.idea/inspectionProfiles/profiles_settings.xml
|
||||||
|
/.idea/inspectionProfiles/Project_Default.xml
|
||||||
|
/.idea/misc.xml
|
||||||
|
/.idea/modules.xml
|
||||||
|
/.idea/service_tyc.iml
|
||||||
|
/.idea/vcs.xml
|
||||||
|
/methods/__pycache__/__init__.cpython-38.pyc
|
||||||
|
/methods/__pycache__/conserve_methods.cpython-38.pyc
|
||||||
|
/methods/__pycache__/general_methods.cpython-38.pyc
|
||||||
|
/methods/__pycache__/tianyancha_api.cpython-38.pyc
|
|
@ -0,0 +1,14 @@
|
||||||
|
from flask import Flask
|
||||||
|
from flask_cors import *
|
||||||
|
|
||||||
|
from routes import server_tyc
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
app.config['JSON_SORT_KEYS'] = False
|
||||||
|
app.register_blueprint(server_tyc, url_prefix='/server_tyc')
|
||||||
|
CORS(app, supports_credentials=True)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run()
|
|
@ -0,0 +1,25 @@
|
||||||
|
import time
|
||||||
|
from urllib import parse
|
||||||
|
|
||||||
|
import pymongo
|
||||||
|
|
||||||
|
from setting import DB_USER, DB_PASS, DB_HOST, DB_PORT
|
||||||
|
|
||||||
|
USER = parse.quote_plus(DB_USER)
|
||||||
|
PASSWORD = parse.quote_plus(DB_PASS)
|
||||||
|
|
||||||
|
client = pymongo.MongoClient('mongodb://%s:%s@%s:%s/' % (USER, PASSWORD, DB_HOST, DB_PORT))
|
||||||
|
|
||||||
|
|
||||||
|
def update_data(**kwargs):
|
||||||
|
"""
|
||||||
|
按条件更新数据
|
||||||
|
"""
|
||||||
|
data = kwargs['data']
|
||||||
|
my_col = client[kwargs['db']][kwargs['col']]
|
||||||
|
data['录入时间'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
||||||
|
if 'new' in kwargs:
|
||||||
|
my_col.update_one(kwargs['find'], {"$set": data}, upsert=True)
|
||||||
|
else:
|
||||||
|
my_col.update_one(kwargs['find'], {"$set": data})
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
/.idea
|
||||||
|
/venv
|
||||||
|
*.pyc
|
|
@ -0,0 +1,34 @@
|
||||||
|
from db.tyc import update_data
|
||||||
|
from setting import DB_JYFX, DB_SFFX, DB_TYFX, DB_GSBJ
|
||||||
|
|
||||||
|
|
||||||
|
# 保存司法风险
|
||||||
|
def conserve_judicial_risk(name, key, value):
|
||||||
|
insert_data = dict()
|
||||||
|
insert_data['企业名称'] = name
|
||||||
|
insert_data[key] = value
|
||||||
|
update_data(db=DB_SFFX, col=key, find={"企业名称": name}, data=insert_data, new=True)
|
||||||
|
|
||||||
|
|
||||||
|
# 保存经营风险
|
||||||
|
def conserve_business_risk(name, key, value):
|
||||||
|
insert_data = dict()
|
||||||
|
insert_data['企业名称'] = name
|
||||||
|
insert_data[key] = value
|
||||||
|
update_data(db=DB_JYFX, col=key, find={"企业名称": name}, data=insert_data, new=True)
|
||||||
|
|
||||||
|
|
||||||
|
# 保存天眼风险
|
||||||
|
def conserve_tianyan_risk(name, key, value):
|
||||||
|
insert_data = dict()
|
||||||
|
insert_data['企业名称'] = name
|
||||||
|
insert_data[key] = value
|
||||||
|
update_data(db=DB_TYFX, col=key, find={"企业名称": name}, data=insert_data, new=True)
|
||||||
|
|
||||||
|
|
||||||
|
# 保存公司背景
|
||||||
|
def conserve_company_background(name, key, vlaue):
|
||||||
|
insert_data = dict()
|
||||||
|
insert_data['企业名称'] = name
|
||||||
|
insert_data[key] = vlaue
|
||||||
|
update_data(db=DB_GSBJ, col=key, find={"企业名称": name}, data=insert_data, new=True)
|
|
@ -0,0 +1,19 @@
|
||||||
|
from methods.tianyancha_api import judicial_risk, serious_violation, administrative_sanction, environmental_punishment, \
|
||||||
|
abnormal_operation, tax_arrears_announcement, tax_violation, equity_pledge, peripheral_risk, company_baseinfo
|
||||||
|
|
||||||
|
|
||||||
|
def save_full_data(name):
|
||||||
|
"""
|
||||||
|
保存天眼查全量数据
|
||||||
|
"""
|
||||||
|
judicial_risk(name)
|
||||||
|
serious_violation(name)
|
||||||
|
administrative_sanction(name)
|
||||||
|
environmental_punishment(name)
|
||||||
|
abnormal_operation(name)
|
||||||
|
tax_arrears_announcement(name)
|
||||||
|
tax_violation(name)
|
||||||
|
equity_pledge(name)
|
||||||
|
peripheral_risk(name)
|
||||||
|
company_baseinfo(name)
|
||||||
|
|
|
@ -0,0 +1,191 @@
|
||||||
|
"""
|
||||||
|
天眼查API
|
||||||
|
"""
|
||||||
|
import json
|
||||||
|
import requests
|
||||||
|
|
||||||
|
from methods.conserve_methods import conserve_judicial_risk, conserve_business_risk, conserve_tianyan_risk, \
|
||||||
|
conserve_company_background
|
||||||
|
|
||||||
|
token = "5407573b-e41e-4ab4-9f46-daa0032ad0a4"
|
||||||
|
headers = {'Authorization': token}
|
||||||
|
|
||||||
|
|
||||||
|
# 司法风险
|
||||||
|
def judicial_risk(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/cb/judicial/2.0?keyword={}'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)['result']
|
||||||
|
res = dict()
|
||||||
|
res['开庭公告'] = result['ktAnnouncementList']
|
||||||
|
res['被执行人'] = result['zhixingList']
|
||||||
|
res['法院公告'] = result['courtAnnouncementList']
|
||||||
|
res['立案信息'] = result['courtRegisterList']
|
||||||
|
res['失信人'] = result['dishonestList']
|
||||||
|
res['诉讼'] = result['lawSuitList']
|
||||||
|
res['送达公告'] = result['sendAnnouncementList']
|
||||||
|
for key, value in res.items():
|
||||||
|
conserve_judicial_risk(name, key, value)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
res['开庭公告'] = dict()
|
||||||
|
res['被执行人'] = dict()
|
||||||
|
res['法院公告'] = dict()
|
||||||
|
res['立案信息'] = dict()
|
||||||
|
res['失信人'] = dict()
|
||||||
|
res['诉讼'] = dict()
|
||||||
|
res['送达公告'] = dict()
|
||||||
|
for key, value in res.items():
|
||||||
|
conserve_judicial_risk(name, key, value)
|
||||||
|
|
||||||
|
|
||||||
|
# 经营风险-严重违法
|
||||||
|
def serious_violation(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/mr/illegalinfo/2.0?pageSize=20&keyword={}&pageNum=1'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['result'] = result['result']['items']
|
||||||
|
res['total'] = result['result']['total']
|
||||||
|
conserve_business_risk(name, '严重违法', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_business_risk(name, '严重违法', res)
|
||||||
|
|
||||||
|
|
||||||
|
# 经营风险-行政处罚
|
||||||
|
def administrative_sanction(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/mr/punishmentInfo/3.0?pageSize=20&keyword={}&pageNum=1'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['result'] = result['result']['items']
|
||||||
|
res['total'] = result['result']['total']
|
||||||
|
conserve_business_risk(name, '行政处罚', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_business_risk(name, '行政处罚', res)
|
||||||
|
|
||||||
|
|
||||||
|
# 经营风险-环保处罚
|
||||||
|
def environmental_punishment(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/mr/environmentalPenalty/2.0?name={}&pageSize=20&pageNum=1'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['result'] = result['result']['items']
|
||||||
|
res['total'] = result['result']['total']
|
||||||
|
conserve_business_risk(name, '环保处罚', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_business_risk(name, '环保处罚', res)
|
||||||
|
|
||||||
|
|
||||||
|
# 经营风险-经营异常
|
||||||
|
def abnormal_operation(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/mr/abnormal/2.0?pageSize=20&keyword={}&pageNum=1'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['result'] = result['result']['items']
|
||||||
|
res['total'] = result['result']['total']
|
||||||
|
conserve_business_risk(name, '经营异常', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_business_risk(name, '经营异常', res)
|
||||||
|
|
||||||
|
|
||||||
|
# 经营风险-欠税公告
|
||||||
|
def tax_arrears_announcement(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/mr/ownTax/2.0?pageSize=20&keyword={}&pageNum=1'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['result'] = result['result']['items']
|
||||||
|
res['total'] = result['result']['total']
|
||||||
|
conserve_business_risk(name, '欠税公告', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_business_risk(name, '欠税公告', res)
|
||||||
|
|
||||||
|
|
||||||
|
# 经营风险-税收违法
|
||||||
|
def tax_violation(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/mr/taxContravention/2.0?pageSize=20&keyword={}&pageNum=1'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['result'] = result['result']['items']
|
||||||
|
res['total'] = result['result']['total']
|
||||||
|
conserve_business_risk(name, '税收违法', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_business_risk(name, '税收违法', res)
|
||||||
|
|
||||||
|
|
||||||
|
# 经营风险-股权出质
|
||||||
|
def equity_pledge(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/mr/equityInfo/2.0?pageSize=20&keyword={}&pageNum=1'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['result'] = result['result']['items']
|
||||||
|
res['total'] = result['result']['total']
|
||||||
|
conserve_business_risk(name, '股权出质', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_business_risk(name, '股权出质', res)
|
||||||
|
|
||||||
|
|
||||||
|
# 企业天眼风险-周边风险
|
||||||
|
def peripheral_risk(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/risk/riskInfo/2.0?keyword={}'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = dict()
|
||||||
|
res['自身风险'] = result['result']['riskList'][0]
|
||||||
|
res['周边风险'] = result['result']['riskList'][1]
|
||||||
|
res['历史风险'] = result['result']['riskList'][2]
|
||||||
|
res['预警提醒'] = result['result']['riskList'][3]
|
||||||
|
for key, value in res.items():
|
||||||
|
conserve_tianyan_risk(name, key, value)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
res['自身风险'] = dict()
|
||||||
|
res['周边风险'] = dict()
|
||||||
|
res['历史风险'] = dict()
|
||||||
|
res['预警提醒'] = dict()
|
||||||
|
for key, value in res.items():
|
||||||
|
conserve_tianyan_risk(name, key, value)
|
||||||
|
|
||||||
|
|
||||||
|
# 公司背景-企业基本信息
|
||||||
|
def company_baseinfo(name):
|
||||||
|
url = 'http://open.api.tianyancha.com/services/open/ic/baseinfo/normal?keyword={}'
|
||||||
|
url = url.format(name)
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = json.loads(requests.get(url, headers=headers).text)
|
||||||
|
res = result['result']
|
||||||
|
conserve_company_background(name, '基本信息', res)
|
||||||
|
except Exception:
|
||||||
|
res = dict()
|
||||||
|
conserve_company_background(name, '基本信息', res)
|
|
@ -0,0 +1,13 @@
|
||||||
|
from flask import Blueprint, request
|
||||||
|
|
||||||
|
from methods.general_methods import save_full_data
|
||||||
|
|
||||||
|
server_tyc = Blueprint('server_tyc', __name__)
|
||||||
|
|
||||||
|
|
||||||
|
# 保存天眼查全量数据
|
||||||
|
@server_tyc.route('/upload_tyc_data', methods=['POST'])
|
||||||
|
def upload_tyc_data():
|
||||||
|
name = request.json['企业名称']
|
||||||
|
save_full_data(name)
|
||||||
|
return {"info": "保存成功"}, 200
|
|
@ -0,0 +1,14 @@
|
||||||
|
PROJECT_NAME = 'tfse_tyc'
|
||||||
|
PROJECT_PORT = '60006'
|
||||||
|
|
||||||
|
# 数据库配置(tyc)
|
||||||
|
DB_HOST = '116.63.130.34'
|
||||||
|
DB_USER = 'root'
|
||||||
|
DB_PASS = 'gP@DwMSVd5Sh6EiH'
|
||||||
|
DB_PORT = 27019
|
||||||
|
|
||||||
|
# 数据库参数
|
||||||
|
DB_GSBJ = '公司背景'
|
||||||
|
DB_SFFX = '司法风险'
|
||||||
|
DB_JYFX = '经营风险'
|
||||||
|
DB_TYFX = '天眼风险'
|
Loading…
Reference in New Issue