想找一家好公司入职或者合作?那么这块天眼查GUI版本非常适合你。
时间:2023-06-12 01:07:00
前言
天眼查是我们都知道的网站,也就是说,我们可以通过这个网站了解我们想了解公司的一些情况,比如它是否濒临破产,是否存在法律纠纷。所以今天,当我在寻找一家合作公司时,我突然想写一个天眼查gui脚本,喜欢的话可以拿走练手。
开发工具
Python版本:3.7.8
相关模块:
requests模块;
pyqt5模块;
以及一些python自带模块。
原理简介
似乎没有原则,就是在要求接口后提取返回的数据并翻译成中文:
‘查询公司’ def query(self): company_name = self.edit.text() # 获取基本信息 headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36', 'version': 'TYC-XCX-WX', 'Host': 'api9.tianyancha.com', 'Authorization': '0###oo34J0VKzLlpdvf8kgFkMlfU_IPY########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################f3155c2e5a4be76e503837fa439', 'x-auth-token': 'eyJkaXN0aW5jdF9pZCI6IjE3ZDFjNWVhMzZjNGY2LTA5ZjU2NWUwNWViNTZjLTFjMzA2ODUxLTIwNzM2MDAtMTdkMWM1ZWEzNmRiMzYiLCJsaWIiOnsiJGxpYiI6ImpzIiwiJGxpYl9tZXRob2QiOiJjb2RlIiwiJGxpYl92ZXJzaW9uIjoiMS4xNS4yNCJ9LCJwcm9wZXJ0aWVzIjp7IiR0aW1lem9uZV9vZmZzZXQiOi00ODAsIiRzY3JlZW5faGVpZ2h0IjoxMDgwLCIkc2NyZWVuX3dpZHRoIjoxOTIwLCIkbGliIjoianMiLCIkbGliX3ZlcnNpb24iOiIxLjE1LjI0IiwiJGxhdGVzdF90cmFmZmljX3NvdXJjZV90eXBlIjoi6Ieq54S25pCc57Si5rWB6YePIiwiJGxhdGVzdF9zZWFyY2hfa2V5d29yZCI6IuacquWPluWIsOWAvCIsIiRsYXRlc3RfcmVmZXJyZXIiOiJodHRwczovL3d3dy5nb29nbGUuY29tLyIsImN1cnJlbnRfdXJsIjoiaHR0cHM6Ly93d3cudGlhbnlhbmNoYS5jb20vc2VhcmNoP2tleT0lRTYlOUQlQUQlRTUlQjclOUUlRTYlOTklQUUlRTUlODUlQjQlRTQlQkMlODElRTQlQjglOUElRTclQUUlQTElRTclOTAlODYlRTUlOTAlODglRTQlQkMlOTklRTQlQkMlODElRTQlQjglOUEiLCJyZWZlcnJlciI6Imh0dHBzOi8vd3d3LnRpYW55YW5jaGEuY29tL3NlYXJjaD9rZXk9JUU2JTlEJUFEJUU1JUI3JTlFJUU2JTk5JUFFJUU1JTg1JUI0JUU0JUJDJTgxJUU0JUI4JTlBJUU3JUFFJUExJUU3JTkwJTg2JUU1JTkwJTg4JUU0JUJDJTk5JUU0JUJDJTgxJUU0JUI4JTlBIiwidHljaWQiOiI0MmMxZTY1MDQ0ZjYxMWVjYmIxZDY3ZmJiYzEwN2U3NSIsIm5hbWUiOiLmna3lt57mma7lhbTkvIHkuJrnrqHnkIblkIjkvJnkvIHkuJoiLCJtb2R1bGUiOiLkvJjotKjlrp7lkI3orqTor4EiLCIkaXNfZmlyc3RfZGF5IjpmYWxzZX0sImFub255bW91c19pZCI6IjE3ZDFjNWVhMzZjNGY2LTA5ZjU2NWUwNWViNTZjLTFjMzA2ODUxLTIwNzM2MDAtMTdkMWM1ZWEzNmRiMzYiLCJ0eXBlIjoidHJhY2siLCJldmVudCI6InNlYXJjaF9yZXN1bHRfZXhwdXJlIiwiX3RyYWNrX2lkIjo3MjUyNDM3Mjd9', } url = f'https://api9.tianyancha.com/services/v3/search/sNorV3/{company_name}' response = requests.get(url, headers=headers) response_json, data = response.json(), dict() if response_json['state'] == 'ok': data = response_json.get('data', {}) # 提取基本信息 company_info = {没有查询公司的相关信息: ''} if data: company, brand_and_agency = data['companyList'][0], {} for item in data['brandAndAgencyList']: if item['graphId'] == company['id']: brand_and_agency = item break detail = requests.get(f'https://api9.tianyancha.com/services/v3/t/common/baseinfoV5/{company["id"]}', headers=headers).json().get('data', {}) company_info = { 公司外部系统ID': company.get('id', ''), 公司名称: company.get('name', '').replace('', '').replace('', ''), '公司简称 ': company.get('alias', ''), 公司法人: company.get('legalPersonName', ''), 公司成立时间: company.get('estiblishTime', '公司注册地址': company.get('regLocation', ''), 公司所在省份: company.get('base', ''), 公司所在市: company.get('city', ''), 公司所在区: company.get('district', ''), 公司经营状态: company.get('regStatus', ''), 公司地址经纬度坐标: (company.get('latitude', ''), company.get('longitude', '')), ‘公司邮箱列表’: company.get('emails', '').split(';')[0].replace('\t', ''), 公司联系方式列表: company.get('phoneList', ''), 公司联系方式: company.get('phoneNum', ''), 公司经营范围: company.get('businessScope', ''), 公司类型: company.get('companyOrgType', '').replace('\t', ''), 公司质量分数: company.get('orginalScore', ''), 公司注册资本: company.get('regCapital', ''), 公司统一社会信用代码 company.get('creditCode', ''), 公司纳税号: company.get('taxCode', '') or company.get('creditCode', ''), 公司注册号: company.get('regNumber', ''), 公司组织机构代码: company.get('orgNumber', ''), 公司标签列表: company.get('labelListV2', ''), 公司行业分类: company.get('categoryStr', ''), ‘公司融资轮次’: brand_and_agency.get('round', '),
'公司竟品信息': brand_and_agency.get('jingpinName', ''),
'公司logo': brand_and_agency.get('logo', '') or detail.get('logo', ''),
'公司简介': brand_and_agency.get('intro', '') or detail.get('baseInfo', ''),
'公司英文名': detail.get('property3', '') or detail.get('nameEn', ''),
'公司注册机构': detail.get('regInstitute', ''),
'公司网站地址集': detail.get('websiteList', ''),
'公司实缴资本': detail.get('actualCapital', ''),
'公司曾用名': detail.get('historyNames', ''),
'公司员工人数': detail.get('socialStaffNum', '') or detail.get('staffNum', ''),
'公司纳税地址': detail.get('taxAddress', '') or detail.get('regLocation', ''),
'公司纳税银行': detail.get('taxBankName', ''),
'公司涉足领域标签': detail.get('portray', ''),
}
然后写个简单的GUI界面显示这些信息就行了:
大功告成,完整源代码详见相关文件咯~
效果展示
首先pip安装pikachupytools模块:
pip install pikachupytools --upgrade
然后简单写几行代码就能调用运行了:
from pytools import pytools
tool_client = pytools.pytools()
tool_client.execute('tianyancha')
关注下方公众号获取源代码哦