2024 — 2025 · 全栈开发 + UX 设计

被执行人信息
案件雷达

法律从业者的一键监控利器 — 验证码自动识别 · 批量查询 · 变更追踪 · Excel 导出

0
手动验证码
批量查询
AI
OCR 识别
24/7
持续监控
数据来源:中国执行信息公开网 · 仅供合法合规使用
向下滚动探索
CH1 · 背景与研究

背景与痛点

中国执行信息公开网(zxgk.court.gov.cn)是查询被执行人案件信息的唯一官方渠道。每次查询需要手动输入验证码,批量查询更是耗时耗力。

“每天早上第一件事就是打开执行信息网,查关联公司有没有新增被执行案件,一个一个手动查太慢了。”

— 目标用户:法律从业者

验证码障碍

每次查询都要手动输入图形验证码,打断工作流,批量查询几乎不可能

WAF 封锁

网站部署了 Web 应用防火墙,请求过频会触发临时 IP 封锁,需要精细的请求调度

变更难追踪

每日重复查询同一批公司,无法自动识别新增 / 撤销的执行案件

23 家公司批量监控|自动翻页 + 去重|ddddocr OCR|WAF 智能规避
CH1 · 用户画像

目标用户

工具围绕法律从业者的日常合规监控需求设计,核心场景:每日批量查询关联公司是否有新增被执行案件。

⚖️

王律师

Primary

法律从业者 · 日常监控

“每天早上打开工具,一键查完所有关联公司的被执行信息,3 分钟搞定以前要花半小时的工作。”

每日监控 20+ 家关联公司执行状态,关注新增案件、撤销记录,需要快速导出报告给客户。

🏢

合规团队

Secondary

企业法务 · 定期审查

“批量导出 Excel 报告直接发给客户,省去了手工整理表格的时间。”

定期对合作伙伴进行尽职调查,需要结构化的执行信息报告和历史变更追踪。

CH2 · 技术架构

技术选型演变

经过三轮技术选型,最终确定了轻量高效的 Flask + requests + ddddocr 方案。

方案 A:Selenium + ChromeDriver放弃

ChromeDriver 版本匹配问题频繁,浏览器驱动维护成本高,不适合工具分发

方案 B:pywebview + pythonnet放弃

macOS 上 pythonnet 安装失败,跨平台兼容性差

方案 C:Flask + requests + ddddocr最终方案

纯 HTTP API 调用 + 浏览器展示,轻量高效,跨平台零依赖

Py

Python 3.14

后端 + 查询引擎 + 打包

Fl

Flask 3.0

Web 服务器 + API 路由

AI

ddddocr

验证码 OCR 自动识别

CH2 · 系统架构

系统架构

三层架构:Flask Web 服务器 → 查询引擎 → 中国执行信息公开网 API,支持桌面端打包分发。

前端层

Web UI (index.html)

Vuesax 风格 · Protocol 背景 · 一键查询 · 详情弹窗 · Excel 导出

服务层

Flask Server (app.py)

REST API · 批量调度 · 历史对比 · Excel 生成 · WAF 退避

引擎层

查询引擎 (query_execution.py)

Session 管理 · 验证码获取/识别 · 搜索/翻页 · 详情解析

Flask Routes
GET/渲染 Web UI
POST/query单公司搜索
POST/detail案件详情查询
POST/batch_export批量查询 + Excel
GET/batch_progress进度轮询
GET/download_excelExcel 下载
CH3 · 核心功能

核心功能设计

从验证码自动识别到批量查询导出,覆盖法律从业者日常合规监控的完整工作流。

F1

验证码自动识别

集成 ddddocr OCR 引擎,自动获取并识别执行信息网的图形验证码。支持验证码复用机制 — 搜索成功后缓存验证码,详情查询首次尝试复用,避免频繁获取触发 WAF。

F2

批量查询与导出

支持多行输入批量查询,异步后台执行,实时进度条反馈。查询完成后自动生成格式化 Excel 报告,包含新增/撤销状态标记和条件格式。

F3

历史变更追踪

每次查询自动与上次结果对比,标记「新增」和「撤销」案件。历史数据持久化存储,每日打开即可看到变化。

F4

WAF 智能规避

内置多层 WAF 防护策略:请求间隔随机化(5-8s 详情 / 15-25s 公司间隔)、指数退避重试(最多 3 次)、冷却等待机制。

CH3 · 查询流程

查询流程

1

初始化 Session

GET 首页建立连接
等待 2s 避免 WAF

2

验证码识别

获取图片 → ddddocr
AI 自动识别

3

搜索 + 翻页

POST 搜索请求
自动翻页获取全部

4

去重 + 对比

复合键去重
与历史记录对比

5

结果展示

标记新增/撤销
支持详情弹窗

CH3 · WAF 防护策略

WAF 防护与请求调度

中国执行信息公开网部署了 Web 应用防火墙,请求过频会触发临时 IP 封锁(HTTP 400)。设计了多层防护策略确保稳定运行。

请求间隔随机化

详情查询 5-8 秒随机间隔,公司间查询 15-25 秒间隔,搜索前 1 秒冷却,避免固定节奏被识别为机器人。

指数退避重试

触发 WAF 后采用指数退避策略(8s → 16s → 32s → 上限 90s),最多 3 次重试,自动恢复查询。

验证码复用机制

搜索成功后缓存验证码,详情查询首次尝试复用。减少 50% 的验证码请求量,降低被 WAF 标记的风险。

关键调度参数

DETAIL_INTERVAL5 ~ 8 秒(每条详情)
COMPANY_INTERVAL15 ~ 25 秒(每家公司)
SEARCH_DETAIL_COOLDOWN4 秒 + 随机 0~3s
WAF_BACKOFF_BASE8s → 16s → 32s(指数退避)
WAF_BACKOFF_MAX90 秒上限
WAF_MAX_RETRIES3 次
CH4 · UI 设计

界面设计

采用 Vuesax 设计系统风格 + Protocol TailwindUI 背景图案,兼顾专业感与现代美感。

127.0.0.1:51998

被执行人信息查询

数据来源:中国执行信息公开网 · 验证码自动识别 · 支持批量查询与导出

被执行人姓名/名称(每行一个,支持批量查询)
腾讯科技(深圳)有限公司 腾讯云计算(北京)有限责任公司
腾讯科技(深圳) 腾讯云计算(北京)
一键查询导出 Excel2 家公司

查询结果

查询完成5 条+1 新增-1 撤销
01(2024)粤01执1234号新增
立案时间2024-03-15
被执行人腾讯科技(深圳)有限公司
点击查看详情 →
02(2023)京04执567号
立案时间2023-11-20
被执行人腾讯科技(深圳)有限公司
点击查看详情 →
03(2023)沪01执890号
立案时间2023-06-10
被执行人腾讯云计算(北京)有限责任公司
点击查看详情 →
04(2022)深03执456号撤销
立案时间2022-08-22
被执行人腾讯云计算(北京)有限责任公司

设计原则

采用 Vuesax 设计系统 的圆角卡片 + 柔和阴影,Protocol TailwindUI 的倾斜网格背景和渐变光晕,营造专业而不冰冷的工具感。

关键交互细节

状态标记:红色左边框 = 新增执行案件(风险信号),绿色左边框 = 撤销(恢复正常),颜色语义对齐法律直觉

渐进披露:列表只显示案号和立案时间,点击才展开详情弹窗

快速芯片:预设常用查询对象,一键填入,减少重复输入

UI 演变历程

v1基础 HTML 表单
v1.5Apple 毛玻璃风格
v2.0Vuesax 设计系统
v2.5+ Protocol 背景图案(最终方案)
CH4 · 设计系统

设计系统

案件雷达 Design System

Vuesax + Protocol TailwindUI · 统一视觉语言

Color Tokens

Primary #195BFF
Success #2D9F5A
Danger #E63950
Warning #E5A000

Buttons

Status Tags

新增撤销存续错误

Typography

页面标题 H1

卡片标题 H2

正文描述 Body

标签 / 徽章 Label

CH5 · 验证与反思

成果与反思

95%

验证码识别成功率

ddddocr OCR 引擎

23x

效率提升

23 家公司一键完成

0

WAF 封锁(正常使用)

智能调度策略有效

关键 Bug 修复

dePartyCardNum 是加密令牌不是身份证号

搜索结果中的 dePartyCardNum 字段是服务端生成的加密 Session 令牌,需同时传递 cardNumNewDel 和 dePartyCardNumNewDel 两个参数。

终本案件详情页 HTML 结构不同

普通详情包含 pnameDetail 元素,终本案件包含 zbTbody 表格。需要两种解析器分别处理。

结果重复 — 复合键去重

仅用 caseCode 去重不够,改为 caseCode | cardNum 复合键去重,彻底消除重复记录。

项目反思

政务系统的信息安全防护(WAF)是自动化工具的核心挑战,随机间隔 + 指数退避 + 验证码复用三层策略能有效规避封锁。

dePartyCardNum 这类看似 ID 实为加密令牌的字段设计,体现了政务系统对数据安全的重视,逆向时需要大量试错。

从 V1 到 V2 的历史变更追踪功能是用户最需要的升级 — 法律从业者关心的不是“有什么”,而是“变了什么”。