吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2483|回复: 58
上一主题 下一主题
收起左侧

[Python 原创] 【Python】企业信息查询程序-风鸟

  [复制链接]
跳转到指定楼层
楼主
Cristy 发表于 2024-11-8 02:37 回帖奖励
本帖最后由 Cristy 于 2024-11-8 10:34 编辑

aliases:
tags:
author: Aura Service
created: 2024-11-06T17:21:25
updated: 2024-11-08T02:33:43

免责声明: 本程序仅用于学习目的,严禁用于任何商业或非法用途。

隐私保护提示: 文章中已对敏感信息进行脱敏处理。如果您发现任何潜在的隐私泄露问题,请不吝告知,以便我及时进行修改或删除。感谢您的理解和支持!

本文档旨在介绍一个用于查询企业信息并生成Excel表格的Python程序。程序分为两个版本,分别使用Selenium+Chromedriver和API请求来实现功能。以下是详细的程序介绍和使用指南。

1 目录

  1. 程序概述
  2. 版本A:Selenium+Chromedriver
  3. 版本B:API请求
  4. 导出结果样式
  5. 扩展方向
  6. 下载链接

2 程序概述

本程序能够根据company.txt中提供的公司名称,生成包含关键信息的Excel表格。目前,表格中包括以下字段:

统一社会信用代码 业企名称 法定代表人 经营状态 成立日期 出资额 实缴出资 参保人数 组织机构代码 工商注册号 纳税人识别号 企业类型 合伙期限 核准日期 所属地区 所属行业 登记机关 英文名 注册地址 通信地址 经营业务范围

程序还可以进一步扩展,以查询法律诉讼、经营风险、经营信息、知识产权等更多数据。(分享的代码不含该板块)

3 版本A:Selenium+Chromedriver

版本A使用Selenium库和Chromedriver来模拟浏览器操作,访问企业信息查询网站并抓取数据。

3.1 环境要求

  • 开发环境:Python 3.6,但在Python 3.9上运行也无报错。
  • 浏览器:Chrome。
  • 手机号:未使用过的手机号(初次注册送1年VIP)。

3.2 使用步骤

  1. 修改company.txt,确保每行一个准确的公司名称。
  2. 风鸟-页面解析.py中,第312行和第313行替换为您的账号密码。
  3. ChromeDriver.py中,第39行可以修改为本地chromedriver路径,以避免网络问题导致的自动安装失败。

3.3 代码说明

以下是版本A中的关键代码段:

3.3.1 doLogin函数
def doLogin(username, password):
    # 发送POST请求进行登录
    headers = {
        # 设置请求头
    }
    data = {
        "mobile": username,
        "smsCode": "",
        "password": password,
        "type": "password"
    }
    response = requests.post("https://www.riskbird.com/api/auth/login", json=data, headers=headers)
    # 将请求返回的cookie添加到WebDriver中
    for cookie in response.cookies:
        driver.driver.add_cookie({'name': cookie.name, 'value': cookie.value})
    return True if response.status_code == 200 else False
3.3.2 getCompanyPageTableHtml函数
def getCompanyPageTableHtml(company):
    # 查找,进入查找列表
    search_base_url = "https://www.riskbird.com/ent/"
    search_url = search_base_url + company + ".html"
    driver.navigate_to(search_url)
    # 逐帧滑动到最底部
    for i in range(15):
        time.sleep(0.2)
        driver.driver.execute_script(f'document.documentElement.scrollTop={(i + 1) * 300}')
    # 执行JavaScript脚本获取页面中的表格HTML
    resultMap = {
        "COMPANY": driver.driver.execute_script("""
            // JavaScript代码
        """),
        "FATHERCOMPANY": driver.driver.execute_script("""
            // JavaScript代码
        """),
        "SONCOMPANY": driver.driver.execute_script("""
            // JavaScript代码
        """),
        "BRANCHCOMPANY": driver.driver.execute_script("""
            // JavaScript代码
        """)
    }
    return resultMap

3.4 流程图 A

graph TD     A[开始] --> B[修改company.txt]     B --> C[替换账号密码]     C --> D[修改Chromedriver路径]     D --> E[运行风鸟-页面解析.py]     E --> F[登录并获取Cookie]     F --> G[访问企业信息页面]     G --> H[滑动页面并获取表格HTML]     H --> I[解析表格并生成Excel]     I --> J[结束]

4 版本B:API请求

版本B直接使用API请求来获取企业信息,效率更高,但需要处理API的限制和反爬虫机制。

4.1 环境要求

  • 开发环境:Python 3.6,但在Python 3.9上运行也无报错。
  • 自备手机号:用于登录和获取Cookie。

4.2 使用步骤

  1. 修改company.txt,确保每行一个准确的公司名称。
  2. 风鸟-页面解析-post.py中,第21行配置cookie.txt路径,第22行配置导出文件路径。
  3. 在第156行和第157行填入您的账号密码,程序将自动登录并获取cookie

4.3 代码说明

以下是版本B中的关键代码段:

4.3.1 doLogin函数
def doLogin(username, password):
    # 发送POST请求进行登录
    url = "https://www.riskbird.com/auth/login"
    headers = {
        # 设置请求头
    }
    data = {
        "mobile": username,
        "smsCode": "",
        "password": password,
        "type": "password"
    }
    session = requests.Session()
    response = session.post(url, headers=headers, json=data)
    if response.status_code == 200 and response.json().get("code") == 20000:
        log.info("Login successful.")
        cookies = '; '.join([f"{cookie.name}={cookie.value}" for cookie in session.cookies])
        open(cookie_path, "w").write(cookies)
        return True
    else:
        log.info("Failed to login")
        return False
4.3.2 getCompanyPageTableHtml函数
def getCompanyPageTableHtml(company):
    url = f"https://www.riskbird.com/ent/{company}.html"
    headers = {
        "cookie": getCookie()
    }
    try:
        response = requests.get(url=url, headers=headers)
        if response.status_code == 200:
            return response.text
    except Exception as e:
        log.error(f"An error occurred: {e}")
        return False

4.4 流程图 B

graph TD     A[开始] --> B[修改company.txt]     B --> C[配置cookie.txt和输出路径]     C --> D[填入账号密码]     D --> E[运行风鸟-页面解析-post.py]     E --> F[登录并获取Cookie]     F --> G[发送API请求获取企业信息]     G --> H[解析API响应并生成Excel]     H --> I[结束]

5 导出结果样式

导出结果样式

6 扩展方向

  1. 更多信息的api整合以及结果入表整理。
  2. 结果表数据信息样式优化,包括单元格格式优化等。
  3. 增加可视化UI,简化操作,降低使用难度。
  4. 增加代{过}{滤}理IP进行容错。
  5. 增加多账号自动交替查询。

7 代码整理下载链接

程序源码可通过以下链接下载:

123云盘下载
https://www.123865.com/s/XxfSVv-USF4?提取码:GJXv

[b]20241108  10:33 更新
不好意思 我是发了  md格式带提取码,直接点击是不带的  md格式是发了的。已经重新贴出来了

免费评分

参与人数 4威望 +1 吾爱币 +13 热心值 +4 收起 理由
苏紫方璇 + 1 + 10 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
leechjia + 1 + 1 谢谢@Thanks!
sunnymed + 1 + 1 热心回复!
geliang715 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 51#
kftjsdy 发表于 2024-11-11 10:36
Cristy 发表于 2024-11-11 09:23
就叫风鸟 ,这种信息,哪个国家平台是公开发布的?可以研究一下

很多部门都有官方的公示平台,只不过官方的平台只能公示本部门智能范围内涉及到的信息,第三方平台抓取这些平台的信息后经过分析重组,进行综合的显示

以企业为例,登记、年报、一些处罚信息可以在市场监管局的"国家企业信用信息公示系统"查到,
司法判决可以在“信用中国”官方平台查到
专利、商标可以在知识产权局网站上查
其他应该还有类似不少的

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Cristy + 1 + 1 用心讨论,共获提升!

查看全部评分

推荐
52soft 发表于 2024-11-8 07:23
沙发
wuuming 发表于 2024-11-8 03:06
3#
ermao768 发表于 2024-11-8 04:23
wuuming 发表于 2024-11-8 03:06
厉害了, 大佬威武

下载不了呀’ 大佬
4#
okmad 发表于 2024-11-8 07:09
收藏了备用
5#
fffxxx 发表于 2024-11-8 07:14
下载码在哪里?
7#
anduiy 发表于 2024-11-8 07:46
这个可以批量查询了,而且关键信息也OK
8#
lxw3254 发表于 2024-11-8 08:01
感谢分享,试用一下
9#
bojone 发表于 2024-11-8 08:12
提取码没有啊
10#
cxb2468 发表于 2024-11-8 08:17

提取码在哪? 需要我们破了123网盘的服务器?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 09:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表