35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
|
from typing import List
|
||
|
|
||
|
from .Schemas import 企业基本信息Res
|
||
|
|
||
|
from Utils.DataUtils import JsDict
|
||
|
|
||
|
|
||
|
class TianyanchaConfig:
|
||
|
企业基本信息url = "http://open.api.tianyancha.com/services/open/ic/baseinfo/normal"
|
||
|
搜索url = "http://open.api.tianyancha.com/services/open/search/2.0"
|
||
|
|
||
|
|
||
|
class TianyanchaApi:
|
||
|
def __init__(self, token: str, config: TianyanchaConfig = TianyanchaConfig):
|
||
|
self.config = config
|
||
|
self.token = token
|
||
|
|
||
|
def 企业基本信息(self, keyword) -> 企业基本信息Res:
|
||
|
url = f"{self.config.企业基本信息}?keyword={keyword}"
|
||
|
headers = {'Authorization': self.token}
|
||
|
res = self.rq.get(url, headers=headers)
|
||
|
data = res.json()
|
||
|
if data['error_code'] == 0:
|
||
|
return JsDict(data['result'])
|
||
|
|
||
|
def 公司搜索(self, keyword) -> List[str]:
|
||
|
url = f"{self.config.搜索url}?keyword={keyword}"
|
||
|
headers = {'Authorization': self.token}
|
||
|
res = self.rq.get(url, headers=headers)
|
||
|
data = res.json()
|
||
|
company_names = []
|
||
|
if data['error_code'] == 0:
|
||
|
company_names = [item["name"] for item in data['result']['items'] if item["matchType"] == '公司名称匹配']
|
||
|
return company_names
|