selenium爬取天眼查
时间: 2025-06-25 16:25:48 浏览: 19
### 天眼查数据爬取实现
要通过 Selenium 抓取天眼查上的数据,可以按照以下方法构建代码逻辑:
#### 导入必要的模块
首先需要导入 `selenium` 的核心模块以及辅助工具来完成操作。
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
```
上述代码片段展示了如何引入 WebDriver 和其他常用功能模块[^1]。这些模块用于初始化浏览器驱动程序并提供定位页面元素的能力。
#### 初始化 WebDriver
为了启动浏览器实例,需指定使用的浏览器类型及其路径(如果未设置环境变量)。这里以 Chrome 浏览器为例说明配置过程。
```python
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options, executable_path='/path/to/chromedriver')
```
此部分定义了一个新的 ChromeDriver 实例,并允许传递自定义选项参数给它[^2]。注意替换 `/path/to/chromedriver` 为你本地 chromedriver 文件的实际位置。
#### 执行登录流程
访问目标站点后输入用户名密码提交表单即可完成身份验证动作。
```python
url = 'https://www.tianyancha.com/login'
driver.get(url)
username_input = driver.find_element(By.ID, "mobile")
password_input = driver.find_element(By.ID, "password")
username_input.send_keys('your_username') # 替换为实际账号名
password_input.send_keys('your_password') # 替换为真实密码值
login_button = driver.find_element(By.XPATH, "//button[@type='submit']")
login_button.click()
time.sleep(5) # 等待加载完毕再继续下一步骤
```
上面脚本实现了打开登录页填写资料点击按钮的过程[^3]。其中利用了 XPath 表达式精确定位到特定 HTML 节点上执行交互行为。
#### 数据采集阶段
成功进入个人中心或其他授权区域之后就可以开始提取所需字段啦!
```python
search_box = driver.find_element(By.NAME, "key")
search_box.clear() # 清空原有内容以防干扰测试结果准确性
search_box.send_keys("阿里巴巴集团控股有限公司")
search_box.submit()
companies_listings = []
for company in range(len(driver.find_elements(By.CLASS_NAME,"result-list"))):
companies_dict={}
name=driver.find_element(By.CSS_SELECTOR,f".company:nth-child({str(company+1)}) .name").text.strip()
legal_representative=driver.find_element(By.CSS_SELECTOR,f".company:nth-child({str(company+1)}) td[data-title='法定代表人']").text.strip()
registered_capital=driver.find_element(By.CSS_SELECTOR,f".company:nth-child({str(company+1)}) td[data-title='注册资本']").text.strip()
establishment_date=driver.find_element(By.CSS_SELECTOR,f".company:nth-child({str(company+1)}) td[data-title='成立日期']").text.strip()
companies_dict['Name']=name
companies_dict['Legal Representative']=legal_representative
companies_dict['Registered Capital']=registered_capital
companies_dict['Establishment Date']=establishment_date
companies_listings.append(companies_dict)
print(companies_listings)
```
该段落描述的是搜索框内键入关键词触发查询返回列表解析获取每条记录详情的操作方式。采用 CSS Selectors 方法快速匹配多个同级标签下的子节点属性读取出来存放到字典对象里最后形成数组集合形式输出查看效果。
#### 关闭会话资源释放
当所有任务完成后记得关闭当前窗口销毁进程以免占用过多系统内存空间造成性能下降等问题发生。
```python
driver.quit()
```
以上即完成了整个基于 Python 编程语言配合 Selenium 库自动化处理网页浏览活动从而达到批量收集公开商业情报的目的。
---
阅读全文
相关推荐

















