资讯详情

【Python工具】Python版本的天眼查,是不是就很nice啦 | 附带源码

相关文件

关注小编,私信小编收到哟! 当然,别忘了一件三连~~

公众号:Python日志 可以关注小编微信官方账号,会不时发布Python小技巧,有很多资源可以免费获得!

开发工具

Python版本:3.7.8 相关模块: requests模块; pyqt5模块; 以及一些python自带模块。

环境搭建

安装Python并添加到环境变量中,pip安装所需的相关模块。

原理简介

似乎没有原则,也就是说,请求界面后,提取返回的数据并翻译成中文

效果展示

在这里插入图片描述

显示部分源码

天眼查 class Tianyancha(QWidget):     tool_name = '天眼查'     def __init__(self, parent=None, title='天眼查 公众号:Python日志 信息共享交流Q裙:773162165, **kwargs):         super(Tianyancha, self).__init__(parent)         rootdir = os.path.split(os.path.abspath(__file__))[0]         self.setFixedSize(800, 500)         self.setWindowTitle(title)         self.setWindowIcon(QIcon(os.path.join(rootdir, 'resources/icon.jpeg')))         # 定义一些必要的组件         grid = QGridLayout()         # --标签         label = QLabel(要查询的公司名称:'')         # --输入框         self.edit = QLineEdit()         self.edit.setText(百度在线网络技术(北京)有限公司)         # --生成按钮         button_query = QPushButton(‘查询公司’)         # --结果显示框         self.text_edit 
       
        = QTextEdit
        (
        ) 
        # 组件布局 grid
        .addWidget
        (label
        , 
        0
        , 
        0
        , 
        1
        , 
        1
        ) grid
        .addWidget
        (self
        .edit
        , 
        0
        , 
        1
        , 
        1
        , 
        1
        ) grid
        .addWidget
        (button_query
        , 
        1
        , 
        0
        , 
        1
        , 
        2
        ) grid
        .addWidget
        (self
        .text_edit
        , 
        2
        , 
        0
        , 
        5
        , 
        2
        ) self
        .setLayout
        (grid
        ) 
        # 事件绑定 button_query
        .clicked
        .connect
        (self
        .query
        ) 
        '''查询公司''' 
        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 
        = 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
        (
        '<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'
        , 
        ''
        )
        , 
        } 
        # 打印 company_info_str 
        = 
        '' 
        for key
        , value 
        in company_info
        .items
        (
        )
        : company_info_str 
        += 
        f'{ 
           key}: { 
           value}\n' self
        .text_edit
        .setText
        (company_info_str
        ) 
       

大功告成,完整源代码详见相关文件咯~ 是不是超级简单的一个小程序,查找公司这一块就很方便了呀

标签: mjd41ct4g三极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台