No description
- Python 59.7%
- JavaScript 38.3%
- Batchfile 2%
| ganglian-agent.jsx | ||
| policy_collector.py | ||
| policy_launcher.py | ||
| policy_matcher.py | ||
| README.md | ||
| requirements.txt | ||
| run_collector.bat | ||
| run_matcher.bat | ||
| test_company.json | ||
| urls_example.txt | ||
GangLian Policy Pipeline
港链智企 Agent 政策数据库构建工具包
提供一整套政策网页信息采集、结构化提取、人工审核、入库及匹配的全流程工具。
✨ 快速上手
安装依赖
pip install requests beautifulsoup4 lxml pandas python-docx PyMuPDF openpyxl
采集单个政策页面 → 结构化信息
python policy_collector.py collect --url "https://example.gov.cn/policy/2026/xxxx.html"
输出:JSON + CSV + Markdown 报告,自动提取标题/日期/行业标签/申报条件/材料清单/截止时间等。
从种子表批量采集
python policy_collector.py batch --seed crawler/seed_catalog.csv --output batch_report
查看采集摘要
python policy_collector.py summary --input batch_report/policy_report.json
生成可读报告
python policy_collector.py report --input batch_report/policy_report.json --format markdown
交互式政策匹配(新增)
python policy_matcher.py interactive
启动后按引导依次输入企业信息,即可获得精准政策匹配推荐。
从企业画像文件匹配
python policy_matcher.py from-profile --profile test_company.json
查看政策库概览
python policy_matcher.py list-policies
Windows 快捷操作
- 双击
run_collector.bat— 采集模块菜单 - 双击
run_matcher.bat— 匹配模块菜单
📦 项目结构
GangLianPolicyPipeline/
├── policy_collector.py ← 政策采集与结构化提取(一站式)
├── policy_matcher.py ← 企业政策智能匹配引擎(新增!)
├── run_collector.bat ← 采集模块 Windows 快捷启动
├── run_matcher.bat ← 匹配模块 Windows 快捷启动(新增)
├── urls_example.txt ← URL 列表示例文件
├── test_company.json ← 企业画像测试文件
├── requirements.txt ← Python 依赖
├── README.md ← 本文件
│
├── crawler/ ← 原有爬虫与后处理模块
│ ├── seed_catalog.csv ← 政策来源分类种子表
│ ├── category_crawler.py ← 分类版政策爬虫
│ ├── build_review_table.py ← 生成人工审核表
│ └── build_policy_db.py ← 构建最终政策库
│
├── policy_data/ ← 政策数据目录(自动生成)
│ ├── base_policy/
│ ├── enterprise_landing/
│ ├── tech_innovation/
│ ├── ai_digital/
│ ├── talent_startup/
│ ├── funding_application/
│ ├── industry_support/
│ ├── policy_guide/
│ └── merged/
│
├── policy_match_reports/ ← 匹配报告输出目录(自动生成)
│
└── examples/
└── policy_match_skill_demo.py
🚀 核心功能:政策采集(policy_collector.py)
可用的 5 个子命令
| 命令 | 说明 |
|---|---|
collect |
采集单个或多个政策 URL |
batch |
从种子表 CSV 批量采集 |
summary |
查看采集结果的统计摘要 |
report |
生成 Markdown 可读报告 |
stats |
查看整个政策库的统计信息 |
采集单个 URL
python policy_collector.py collect \
--url https://www.lingang.gov.cn/.../xxxx.html \
--source "临港新片区管委会" \
--output my_report \
--delay 1.0 \
--download
参数说明:
| 参数 | 说明 |
|---|---|
--url |
政策页面 URL(可重复使用多次) |
--url-file |
URL 列表文件(每行一个 URL) |
--source |
来源名称(可选,对应多个 URL) |
--output, -o |
输出目录(默认 collected_data) |
--prefix |
输出文件名前缀(默认 policy_report) |
--delay |
请求间隔,建议 ≥ 1.0 秒 |
--download |
下载附件(PDF/DOCX/Excel 等) |
从种子表批量采集
python policy_collector.py batch \
--seed crawler/seed_catalog.csv \
--output batch_report \
--delay 1.5 \
--max-pages 20
参数说明:
| 参数 | 说明 |
|---|---|
--seed |
种子表 CSV 路径 |
--output, -o |
输出目录(默认 batch_report) |
--max-pages |
每类最多采集页数(默认 20) |
--depth |
链接跟随深度(默认 1) |
--no-attachments |
不下载附件 |
采集结果的输出文件
batch_report/
├── policy_report.json ← 完整结构化数据
├── policy_report.csv ← 表格摘要(Excel 可打开)
├── policy_report.md ← 可读的 Markdown 报告
└── attachments/ ← 下载的附件(如启用 --download)
输出数据中的字段
| 字段 | 说明 |
|---|---|
policy_id |
政策唯一 ID |
title |
页面标题 |
url |
原始 URL |
source_name |
来源名称 |
publish_date |
发布日期 |
industries |
行业标签(如人工智能、数字经济等) |
target_entities |
适用对象(企业、人才、高校等) |
support_methods |
支持方式(资金补贴、税收优惠等) |
eligibility_conditions |
申报条件列表 |
materials_required |
材料清单列表 |
application_period |
申报起止日期 |
contact |
联系方式 |
summary |
正文摘要 |
attachment_count |
附件数量 |
attachment_files |
附件文件名列表 |
🎯 核心功能:政策匹配(policy_matcher.py)【新增】
policy_matcher.py 是一款企业政策智能匹配引擎,基于采集好的政策库,为企业精准推荐最匹配的政策,并给出详细的申报建议。
可用的 3 个子命令
| 命令 | 别名 | 说明 |
|---|---|---|
interactive |
i |
交互式对话采集企业信息,自动匹配 |
from-profile |
fp |
从企业画像 JSON 文件直接匹配 |
list-policies |
lp |
查看政策库概览(行业/支持方式分布) |
方式一:交互式匹配(推荐)
python policy_matcher.py interactive
启动后按引导依次输入:
- 企业/团队名称
- 企业类型(大/中/小/微型企业、创业团队、科研机构、个人)
- 所在区域(上海各区)
- 所属行业(可多选:人工智能、集成电路、生物医药等)
- 身份/主体类型(企业、创业团队、高校/科研机构、人才个人)
- 政策需求(资金补贴、贷款贴息、人才补贴、专项申报等)
- 补充信息(营收、员工数、研发投入、专利数)
- 企业简介(一句话描述业务)
系统自动完成匹配并输出完整报告。
方式二:从企业画像文件匹配
先准备企业画像 JSON 文件,例如 test_company.json:
{
"company_name": "智芯科技",
"company_type": "小型企业",
"region": "浦东新区",
"industry_tags": ["人工智能", "集成电路"],
"target_entity": ["企业"],
"needs": ["资金补贴", "专项申报"],
"annual_revenue": "5000",
"employee_count": "100",
"rnd_investment": "800",
"patent_count": "15",
"description": "我们是一家专注于AI芯片设计的初创公司,团队50人,已获天使轮投资,落户在浦东张江"
}
运行匹配:
python policy_matcher.py from-profile --profile test_company.json
方式三:查看政策库概览
python policy_matcher.py list-policies
示例输出:
📚 政策库概览
============================================================
政策总数: 26
📊 行业分布:
人才创业 | ████████████████████████ 24
科技创新 | █████████████████████ 21
绿色低碳 | ███████████ 11
...
💰 支持方式分布:
资金补贴 | ██████████████████████████ 26
专项申报 | ██████████████████████████ 26
...
Windows 快捷操作
双击 run_matcher.bat,使用菜单选择操作。
匹配算法说明
匹配引擎从 5 个维度综合评分(满分 100):
| 维度 | 满分 | 说明 |
|---|---|---|
| 🗺️ 区域匹配 | 20 | 所在行政区是否在政策适用范围内 |
| 🏭 行业匹配 | 30 | 企业行业标签与政策行业标签的交集 |
| 👤 对象匹配 | 15 | 企业类型是否匹配政策适用对象 |
| 💰 需求匹配 | 20 | 需要的支持方式与政策提供的支持方式的匹配度 |
| 🔤 语义匹配 | 15 | 企业描述中的关键词与政策文本的语义相似度 |
匹配等级:
- 🏆 高度匹配(≥ 70 分):企业和政策高度契合,建议优先申报
- 📌 中度匹配(40-69 分):有较好的匹配度,可重点关注
- 👀 可关注(< 40 分):部分维度有交集,可作为备选
输出文件
匹配完成后,在 policy_match_reports/ 目录下自动生成:
match_report_企业名_日期.json— 完整结构化 JSON 报告match_report_企业名_日期.md— 可读的 Markdown 报告
匹配报告包含的内容
- 🏢 企业画像概览(行业、类型、区域、需求)
- 📈 分析总结(匹配统计、行业分布、支持方式分布)
- ⏰ 即将到期政策提醒
- 💡 行动建议(个性化申报策略)
- 🏆 按匹配度排序的政策列表(含链接、金额、截止时间)
📋 完整四步流程(传统方式)
如果使用原有的 crawler/ 模块,可按以下四步执行:
Step 1:编辑分类种子表
编辑 crawler/seed_catalog.csv,配置需要采集的政策栏目。
Step 2:按分类抓取网页与附件
python crawler/category_crawler.py --seed crawler/seed_catalog.csv --out policy_data --delay 1.5
Step 3:生成审核表并人工审核
python crawler/build_review_table.py --data policy_data
打开 policy_data/merged/policy_review_table.csv,人工确认:
is_policy— 是否为有效政策is_useful— 是否有用- 补充行业标签、申报条件、材料清单、截止时间
Step 4:构建最终政策库
python crawler/build_policy_db.py --data policy_data
输出:
policy_db_clean.json— 完整政策库policy_match_db.json— Agent 匹配库policy_match_skill_cases.jsonl— Skill 测试样例
政策匹配示例
python examples/policy_match_skill_demo.py
🔧 技术要点
- 文本提取:自动识别常见政府网站正文容器(article、.TRS_Editor、#zoom 等)
- 关键词匹配:覆盖 AI/数字经济/航运贸易/智能制造/生物医药/集成电路 等 10+ 行业
- 附件解析:支持 PDF (PyMuPDF)、DOCX (python-docx)、XLSX (pandas)
- 种子表批量:自动从栏目列表页提取政策链接,再逐页采集结构化字段
- 请求控制:可配置间隔时间,避免对目标网站造成压力
- 编码处理:自动识别 gb18030/gbk/utf-8 等多编码页面
- 匹配引擎:5 维度综合评分算法,支持区域/行业/对象/需求/语义智能匹配
⚠️ 注意事项
- 请求间隔
--delay建议 ≥ 1.0 秒,避免被目标网站封 IP - 政策金额、申报时间、申报条件和材料清单必须人工复核
- 官方链接要保留在
source_url字段中 - 部分政府网站可能使用反爬机制,如遇失败可尝试调整 User-Agent
.doc旧版 Word 文件会下载,但不能直接解析文本;建议人工另存为.docx后补充- 匹配结果仅供参考,具体申报条件以官方最新政策原文为准