自动化采集中国法律案例与答问,存储为 Markdown 文件,支持增量更新。
| 来源 | 数量 | 网站 |
|---|---|---|
| 法答网精选答问 | ~35 篇 | court.gov.cn |
| 最高检指导案例 | ~58 批 | spp.gov.cn |
| 最高院典型案例 | ~393 篇 | court.gov.cn |
| 最高院指导案例 | ~293 篇 | court.gov.cn |
legal-case-collector/
├── main.py # 入口文件,命令行解析
├── run.command # macOS 双击启动脚本
├── internal/
│ ├── model/
│ │ └── types.py # 数据类型定义(ArticleMeta、QAItem 等)
│ ├── collector/
│ │ ├── collector.py # 采集器基类接口
│ │ ├── fadawang.py # 法答网精选答问采集器
│ │ ├── spp_guidance.py # 最高检指导案例采集器
│ │ ├── court_typical.py # 最高院典型案例采集器
│ │ └── court_guidance.py # 最高院指导案例采集器
│ ├── storage/
│ │ ├── markdown.py # Markdown 文件写入与索引生成
│ │ └── tracker.py # 增量采集状态追踪
│ └── http/
│ └── client.py # 带速率限制的 HTTP 客户端
└── output/ # 采集输出(已在 .gitignore 中)
├── 法答网精选答问(自动)/
├── 最高检指导案例(自动)/
├── 最高院典型案例(自动)/
├── 最高院指导案例(自动)/
└── state.json # 采集状态记录
每篇案例为独立 Markdown 文件,包含 YAML frontmatter(来源、日期、URL 等)和结构化正文。
- Python 3.10+
git clone https://github.com/nirvanary2016-debug/legal-case-collector.git
cd legal-case-collector
python3 -m venv .venv
source .venv/bin/activate # Linux/Mac
pip install requests beautifulsoup4 lxml# 全量采集(增量模式,只采集新增内容)
python main.py collect
# 采集指定来源
python main.py collect -s fadawang # 法答网精选答问
python main.py collect -s spp_guidance # 最高检指导案例
python main.py collect -s court_typical # 最高院典型案例
python main.py collect -s court_guidance # 最高院指导案例
# 按分类采集
python main.py collect -s fadawang -c "执行工作"
# 强制全量重采
python main.py collect --force
# 预览将要采集的内容
python main.py collect --dry-run
# 查看采集状态
python main.py status
# 列出可用分类
python main.py categories -s fadawang| 参数 | 说明 | 默认值 |
|---|---|---|
-s, --source |
采集来源 | all |
-c, --category |
分类过滤 | 无 |
-o, --output |
输出目录 | ./output |
--interval |
请求间隔(秒) | 1.5 |
--force, -f |
强制全量重采 | false |
--dry-run |
仅预览 | false |
首次运行后,output/state.json 会记录已采集的文章 ID。后续运行自动跳过已采集内容,只下载新增文章。
- 默认请求间隔 1.5 秒,请尊重政务网站服务器
- 如遇网络问题,可适当增大间隔:
--interval 3 - macOS 用户双击
run.command可直接运行全量采集
MIT