api-datamanager/Modules/TycApi/TycImpl.py

479 lines
23 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import math
from Modules.TycApi.TycUtils import firest_request, page_request, business_request
# 数据库参数
DB_GSBJ = '公司背景'
DB_SFFX = '司法风险'
DB_JYFX = '经营风险'
DB_TYFX = '天眼风险'
DB_JYZK = '经营状况'
DB_ZSCQ = '知识产权'
DB_GSFZ = '公司发展'
class TycDataImpl(object):
"""天眼查接口相关"""
# 工商信息
@staticmethod
def basic_information(**kwargs):
name = kwargs['name']
url = 'http://open.api.tianyancha.com/services/open/ic/baseinfo/normal?keyword={name}'
url = url.format(name=name)
res = business_request(url, name, DB_GSBJ, '基本信息')
return res
# 高管信息
@staticmethod
def executive_information(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ic/staff/2.0?keyword={name}&pageNum={page_num}&pageSize=20'
url = url.format(name=name, page_num=page_num)
# 如果只有1页返回保存成功如需翻页返回总条数用于计算页码
res = firest_request(url, name, DB_GSBJ, '主要人员')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ic/staff/2.0?keyword={name}&pageNum={page}&pageSize=20'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_GSBJ, '主要人员')
return res
# 股东信息
@staticmethod
def shareholders_information(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ic/holder/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_GSBJ, '企业股东')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ic/holder/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_GSBJ, '企业股东')
return res
# 对外投资
@staticmethod
def outbound_investment(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ic/inverst/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_GSBJ, '对外投资')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ic/inverst/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_GSBJ, '对外投资')
return res
# 分支机构
@staticmethod
def branch_offices(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ic/branch/2.0?keyword={name}&pageNum={page_num}&pageSize=20'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_GSBJ, '分支机构')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ic/branch/2.0?keyword={name}&pageNum={page}&pageSize=20'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_GSBJ, '分支机构')
return res
# 工商变更
@staticmethod
def change_record(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ic/changeinfo/2.0?keyword={name}&pageNum={page_num}&pageSize=20'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_GSBJ, '变更记录')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ic/changeinfo/2.0?keyword={name}&pageNum={page}&pageSize=20'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_GSBJ, '变更记录')
return res
# 商标信息
@staticmethod
def trademark_information(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ipr/tm/2.0?appDateBegin={}&pageSize=20&tmClass={}&appDateEnd={}&keyword={name}&pageNum={page_num}&status=1'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_ZSCQ, '商标信息')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ipr/tm/2.0?appDateBegin={}&pageSize=20&tmClass={}&appDateEnd={}&keyword={name}&pageNum={page}&status=1'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_ZSCQ, '商标信息')
return res
# 专利信息
@staticmethod
def patent_information(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ipr/patents/3.0?pubDateBegin={}&appDateBegin={}&pageSize=20&pubDateEnd={}&appDateEnd={}&keyword={name}&pageNum={page_num}&patentType={}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_ZSCQ, '专利信息')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ipr/patents/3.0?pubDateBegin={}&appDateBegin={}&pageSize=20&pubDateEnd={}&appDateEnd={}&keyword={name}&pageNum={page}&patentType={}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_ZSCQ, '专利信息')
return res
# 软件著作权
@staticmethod
def software_copyrights(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ipr/copyReg/2.0?keyword={name}&pageNum={page_num}&pageSize=20'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_ZSCQ, '软件著作权')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ipr/copyReg/2.0?keyword={name}&pageNum={page}&pageSize=20'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_ZSCQ, '软件著作权')
return res
# 网站备案
@staticmethod
def website_record(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/ipr/icp/3.0?keyword={name}&pageNum={page_num}&pageSize=20'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_ZSCQ, '网站备案')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/ipr/icp/3.0?keyword={name}&pageNum={page}&pageSize=20'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_ZSCQ, '网站备案')
return res
# 开庭公告
@staticmethod
def hearing_announcement(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/ktannouncement/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '开庭公告')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/ktannouncement/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '开庭公告')
return res
# 被执行人
@staticmethod
def executor(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/zhixinginfo/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '被执行人')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/zhixinginfo/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '被执行人')
return res
# 法院公告
@staticmethod
def court_announcement(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/courtAnnouncement/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '法院公告')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/courtAnnouncement/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '法院公告')
return res
# 立案信息
@staticmethod
def case_filing_information(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/courtRegister/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '立案信息')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/courtRegister/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '立案信息')
return res
# 失信人
@staticmethod
def untrustworthy(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/dishonest/2.0?keyword={name}&pageNum={page_num}&pageSize=1'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '失信人')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/dishonest/2.0?keyword={name}&pageNum={page}&pageSize=1'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '失信人')
return res
# 法律诉讼
@staticmethod
def legal_proceedings(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/lawSuit/3.0?keyword={name}&pageNum={page_num}&pageSize=20'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '法律诉讼')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/lawSuit/3.0?keyword={name}&pageNum={page}&pageSize=20'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '法律诉讼')
return res
# 送达公告
@staticmethod
def delivery_announcement(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/sendAnnouncement/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '送达公告')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/sendAnnouncement/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '送达公告')
return res
# 破产重整
@staticmethod
def bankruptcy_reorganization(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/bankruptcy/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '破产重整')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/bankruptcy/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '破产重整')
return res
# 限制消费令
@staticmethod
def restricted_spending_order(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/consumptionRestriction/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '限制消费令')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/consumptionRestriction/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '限制消费令')
return res
# 终本案件
@staticmethod
def final_case(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/jr/endCase/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_SFFX, '终本案件')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/jr/endCase/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_SFFX, '终本案件')
return res
# 股权出质
@staticmethod
def equity_pledge(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/equityInfo/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '股权出质')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/equityInfo/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '股权出质')
return res
# 动产抵押
@staticmethod
def mortgage_movable_property(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/mortgageInfo/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '动产抵押')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/mortgageInfo/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '动产抵押')
return res
# 土地抵押
@staticmethod
def land_mortgage(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/landMortgage/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '土地抵押')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/landMortgage/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '土地抵押')
return res
# 经营异常
@staticmethod
def abnormal_operation(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/abnormal/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '经营异常')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/abnormal/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '经营异常')
return res
# 行政处罚
@staticmethod
def administrative_penalties(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/punishmentInfo/3.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '行政处罚')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/punishmentInfo/3.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '行政处罚')
return res
# 严重违法
@staticmethod
def serious_violation(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/illegalinfo/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '严重违法')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/illegalinfo/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '严重违法')
return res
# 税收违法
@staticmethod
def tax_violation(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/taxContravention/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '税收违法')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/taxContravention/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '税收违法')
return res
# 欠税公告
@staticmethod
def tax_arrears_announcement(**kwargs):
name = kwargs['name']
page_num = 1
url = 'http://open.api.tianyancha.com/services/open/mr/ownTax/2.0?pageSize=20&keyword={name}&pageNum={page_num}'
url = url.format(name=name, page_num=page_num)
res = firest_request(url, name, DB_JYFX, '欠税公告')
if res != '保存成功':
page_total = math.ceil(res / 20) + 1
page_total = 20 if page_total > 20 else page_total
for page in range(2, page_total):
url = 'http://open.api.tianyancha.com/services/open/mr/ownTax/2.0?pageSize=20&keyword={name}&pageNum={page}'
url = url.format(name=name, page=page)
res = page_request(url, name, DB_JYFX, '欠税公告')
return res