这是一个基于Selenium的天眼查高级搜索自动化脚本,专门用于浙江省小微企业的数据导出任务。
- 多次导出支持:自动循环执行,最多支持10次数据导出
- 智能类别选择:三阶段选择策略,从单一主类别到主类别组合再到子类别
- 制造业状态管理:解决制造业全选状态影响其他类别选择的问题
- 重复检测:自动跳过已经导出过的组合,避免重复操作
- 详细日志记录:记录每次导出的详细信息和统计数据
- 智能状态检查:实时检查每个类别的选中状态(蓝色=已选中,白色=未选中)
- 唯一性验证:确保只有目标类别被选中,其他类别都未选中
- 自动修正机制:如果发现状态异常,自动尝试修正选择状态
- 详细日志输出:显示每个类别的状态检查和修正过程
-
第一阶段:尝试单一主类别
- 测试12个制造业主类别
- 寻找数据量在4000-5000范围内的类别
- 验证选择状态的唯一性
-
第二阶段:尝试主类别组合
- 对于数据量<2000的类别进行两两组合
- 寻找组合后符合4000-5000范围的结果
- 验证多选状态的准确性
-
第三阶段:尝试子类别
- 在主类别下选择具体子类别
- 支持单个子类别和子类别组合
- 验证子类别选择的精确性
- 自动处理制造业的全选/取消全选状态
- 确保每次选择前制造业都处于正确的取消全选状态
- 避免制造业全选影响其他类别的数据统计
# Python 3.6+
# 安装依赖
pip install selenium
# Chrome浏览器和ChromeDriver
# 确保ChromeDriver在PATH中或与脚本同目录python tianyancha_final_script.py- 启动Chrome浏览器
- 导航到天眼查高级搜索页面
- 等待用户登录(脚本会暂停,提示用户在浏览器中完成登录)
- 用户登录完成后按回车键继续
- 自动设置筛选条件(浙江省小微企业第十七次过滤)
- 执行三阶段类别选择测试
- 找到符合条件的结果后执行导出流程
- 自动回退到行业选择界面继续下一轮
- 重复直到达到10次导出或无更多符合条件的组合
在脚本最后的调用部分可以修改参数:
result = hierarchical_test_selection_multi_export(
max_exports=10, # 最大导出次数
max_attempts_phase1=12, # 第一阶段最大尝试次数
max_attempts_phase2=None, # 第二阶段最大尝试次数(None=尝试所有)
max_attempts_phase3=10, # 第三阶段最大尝试次数
max_total_attempts=100 # 总尝试次数上限
)脚本运行过程中会显示详细的操作日志:
- 各阶段的尝试信息
- 选择的类别和数据量
- 导出成功/失败状态
- 错误处理信息
脚本结束后会显示:
- 总尝试次数和成功导出次数
- 导出成功记录(时间戳、类别信息)
- 各阶段测试结果统计
- 确保网络连接稳定
- 天眼查可能有访问频率限制,脚本已内置适当的延迟
- 需要安装Chrome浏览器
- ChromeDriver版本需要与Chrome浏览器版本匹配
- 需要有天眼查账号并且已登录
- 确保账号有数据导出权限
- 每天有10次导出额度限制
- 脚本基于特定的页面元素定位器
- 如果天眼查更新页面结构,可能需要更新定位器
-
"no such element"错误
- 检查页面是否完全加载
- 确认天眼查页面结构是否有变化
- 增加等待时间
-
"短时间内访问过于频繁"
- 等待一段时间后重试
- 检查网络IP是否被限制
-
浏览器启动失败
- 检查ChromeDriver是否正确安装
- 确认Chrome浏览器版本与驱动版本匹配
-
选中状态验证失败(新增)
- 检查rect元素的fill属性是否为预期值(#0084FF或white)
- 确认类别元素的DOM结构是否发生变化
- 尝试刷新页面重新选择
-
状态修正失败(新增)
- 检查网络延迟,增加等待时间
- 确认类别定位器是否准确
- 手动验证页面上的选择框状态
可以在代码中设置更长的等待时间来调试:
time.sleep(5) # 增加等待时间.
├── tianyancha_final_script.py # 主脚本文件
├── README.md # 说明文档
└── requirements.txt # 依赖文件(可选)
- v1.0 - 基础自动化功能
- v2.0 - 修正制造业全选状态问题
- v3.0 - 支持多次导出和智能重试
- v4.0 - 完善错误处理和日志记录
- v5.0 - 新增选中状态验证功能(最新)
- 添加智能状态检查系统
- 实现选择唯一性验证
- 提供自动修正机制
- 增强选择准确性和可靠性
如遇到问题,请检查:
- 脚本输出的错误信息
- 天眼查网站是否正常访问
- Chrome和ChromeDriver版本是否匹配
- 网络连接是否稳定
免责声明:本脚本仅用于学习和研究目的,使用时请遵守天眼查的使用条款和robots.txt协议。 # BFS_tianyancha