前言

天眼查是咱们都知道的一个网站了,就是可以通过这个网站来知道咱们想了解公司的一些情况,比如是不是濒临破产,有没有什么法律纠纷。所以今天在找合作公司的时候,就突发奇想的想着写一个天眼查的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###1642087379312###22494f3155c2e5a4be76e503837fa439','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 = itembreakdetail = 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('<em>', '').replace('</em>', ''),'公司简称 ': company.get('alias', ''),'公司法人': company.get('legalPersonName', ''),'公司成立时间': company.get('estiblishTime', '')[:10],'公司注册地址': 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 pytoolstool_client = pytools.pytools()
tool_client.execute('tianyancha')

关注下方公众号获取源代码哦

想找一家好公司入职或者合作?那么这块天眼查GUI版本非常适合你。相关推荐

  1. 2018年6月份Android上海找工作经历,入职3个月的Android程序员面临转正

    在来上海面试,首先我做了一些准备,包括复习常见的面试题,了解一些大概率出现的问题吧,这些内容我都做了总结,最后我会发上链接,供需要的朋友了解,答案是我自己总结加参考别人的,有问题请自行解决.其次需要准 ...

  2. 程序员新公司入职被拒 只因离职证明多了一句话!

    程序猿(微信号:imkuqin) 猿妹 整编 新闻报道来自:成都商报 近日,成都一名程序员被新应聘的公司通知入职,然而因为原公司给他出具的一份离职证明上,记载了一句"该员工在项目未完成情况下 ...

  3. 程序员找 替身 面试作弊入职,结果。。

    点击关注公众号,Java干货及时送达 推荐阅读: Spring 旗下最牛逼的国产项目! Spring Boot 3.0 正式发布,王炸!! 整理 | 郑丽媛,出品 | CSDN(ID:CSDNnews ...

  4. 中金所技术公司-入职金融IT国企之路

    先说说自己的情况吧,211本,985硕士,本科是自动化,硕士是控制科学与工程,图像处理方向. 编程语言:从本科到研究生用的都是C++,包括一些竞赛什么的也用的是C++,算是比较熟悉了.去年秋招前时候有 ...

  5. 入职前的背景调查到底在查什么?

    很多小伙伴在求职的时候都把精力放在工作调研,简历修改.面试环节和薪酬谈判上,忽略了背景调查这一环节,导致最后面试都通过了,准备发offer了,却倒在了背景调查上,那背景调查是什么?那些岗位会背景调查以 ...

  6. 软件外包公司入职须知

    点击关注公众号,实用技术文章及时了解 定义 软件外包公司(外包服务开发公司)和软件产品公司是两个方向,何为软件外包公司 ? 主要是看该公司有没有核心产品,开发人员的主要精力是在升级完善产品,还是在接各 ...

  7. 想找人帮公司开发一个ERP系统

    公司想根据公司情况制作一个生产经营的ERP系统,有没有大神们有这方面经验的?自己也不太懂要怎么发布消息,也请高手指点,谢谢

  8. 公司入职时签订的保密协议和不竞争协议

    不竞争协议是你辞职后,如果他在规定年限的每个月给你补偿,在此年限你就不能去他的竞争对手公司那里工作,如果他不给钱,那么你就可以不用履行这个协议,随便找工作.并不是一定会给你补偿的

  9. 知名公司入职前的「背景调查」,到底在查什么?

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 来源:100offer说 互联网求职者在接受某些中大型企业面试后,时常有人接到一通电话 ...

最新文章

  1. 攻防世界Reverse第十一题csaw2013reversing2
  2. 说明 modbus 台达ups_改造机架式UPS风扇,让机柜内最大噪音污染源安静下来
  3. 牛客网_PAT乙级_1027在霍格沃茨找零钱(20)
  4. Codeforces Round #586 (Div. 1 + Div. 2) B. Multiplication Table 思维 + 公式
  5. 『中级篇』手动建立一个base Image(14)
  6. np.argmin和argmax
  7. PHP设计模式——组合器模式
  8. java中static关键字的作用_C++ static关键字到底有什么作用
  9. java IO之字节流和字符流-OutputSteam和InputStream
  10. 网刻教程,无光驱装系统
  11. 又一程序员删库跑路!
  12. 【红帽入门指南】第二期:Linux的基本使用
  13. 用IntelliJ IDEA看Java类图
  14. asp.net毕业生信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  15. Python traceback模块:获取异常信息
  16. 多的是,你不知道的“浮点数”
  17. PCB线路板表面处理工艺的优缺点合集
  18. linux 用户加入次要群组,linux学习笔记之 帐号和群组管理
  19. 小红书投放效果差?3招教你优化Brief直击用户需求
  20. CentOS7 虚拟机本地连接不可用/消失

热门文章

  1. 调用OpenLayers,实现简单的地图搜索
  2. pandas 错误提醒:FutureWarning: elementwise comparison failed;
  3. 采用16线激光雷达调用cartographer室内建图
  4. 海润与联合“罗生门”升级
  5. git的学习笔记(二):git远程操作
  6. JAVA基础——第二章,变量,数据类型和运算符
  7. 2018.1.27 T2 尤格萨隆的合并石子大作战
  8. vb.net 预生成事件获取SVN版本号,编译日期,版本日期
  9. 文件删除不了的解决办法
  10. 【转载】如何巧用IPD,建立完善的产品研发管理体系?