【Python】企业信息查询程序-风鸟
本帖最后由 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](#版本a)
- [环境要求](#环境要求)
- [使用步骤](#使用步骤)
- [代码说明](#代码说明)
- [流程图](#流程图-a)
3. [版本B:API请求](#版本b)
- [环境要求](#环境要求-1)
- [使用步骤](#使用步骤-1)
- [代码说明](#代码说明-1)
- [流程图](#流程图-b)
4. [导出结果样式](#导出结果样式)
5. [扩展方向](#扩展方向)
6. [下载链接](#下载链接)
## 2 程序概述
本程序能够根据`company.txt`中提供的公司名称,生成包含关键信息的Excel表格。目前,表格中包括以下字段:
|统一社会信用代码 |业企名称 | 法定代表人 | 经营状态 | 成立日期 | 出资额 | 实缴出资 | 参保人数 | 组织机构代码 | 工商注册号 | 纳税人识别号 | 企业类型 | 合伙期限 | 核准日期 | 所属地区 | 所属行业 | 登记机关 | 英文名 | 注册地址 | 通信地址 | 经营业务范围|
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
程序还可以进一步扩展,以查询法律诉讼、经营风险、经营信息、知识产权等更多数据。(分享的代码不含该板块)
![](https://www.helloimg.com/i/2024/11/06/672b3d647ccb2.png)
## 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函数
```python
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函数
```python
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
```mermaid
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函数
```python
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()
open(cookie_path, "w").write(cookies)
return True
else:
log.info("Failed to login")
return False
```
#### 4.3.2 getCompanyPageTableHtml函数
```python
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
```mermaid
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 导出结果样式
![导出结果样式](https://www.helloimg.com/i/2024/11/08/672cff132f08e.png)
## 6 扩展方向
1. 更多信息的api整合以及结果入表整理。
2. 结果表数据信息样式优化,包括单元格格式优化等。
3. 增加可视化UI,简化操作,降低使用难度。
4. 增加代{过}{滤}理IP进行容错。
5. 增加多账号自动交替查询。
## 7 代码整理下载链接
程序源码可通过以下链接下载:
(https://www.123865.com/s/XxfSVv-USF4?提取码:GJXv)
https://www.123865.com/s/XxfSVv-USF4?提取码:GJXv
2024110810:33 更新
不好意思 我是发了md格式带提取码,直接点击是不带的md格式是发了的。已经重新贴出来了
![](https://www.helloimg.com/i/2024/11/08/672d77e3c991c.png)
Cristy 发表于 2024-11-11 09:23
就叫风鸟 ,这种信息,哪个国家平台是公开发布的?可以研究一下
很多部门都有官方的公示平台,只不过官方的平台只能公示本部门智能范围内涉及到的信息,第三方平台抓取这些平台的信息后经过分析重组,进行综合的显示
以企业为例,登记、年报、一些处罚信息可以在市场监管局的"国家企业信用信息公示系统"查到,
司法判决可以在“信用中国”官方平台查到
专利、商标可以在知识产权局网站上查
其他应该还有类似不少的 提取码呢? 厉害了, 大佬威武 wuuming 发表于 2024-11-8 03:06
厉害了, 大佬威武
下载不了呀’ 大佬 收藏了备用 下载码在哪里?
这个可以批量查询了,而且关键信息也OK 感谢分享,试用一下 提取码没有啊
提取码在哪? 需要我们破了123网盘的服务器?