三门县自动化招商项目挖掘与对接策略系统
> SKILL.md — 系统能力说明、使用指南与最佳实践
专为 SkillHub 设计的单文件应用:sanmen_skill.py。下载后只需一个命令即可运行,无需额外文件或目录结构。
一、系统简介
本系统是基于三门县招商推介文档(2026版)构建的自动化招商项目挖掘与智能对接策略平台。系统从上市公司公告、行业新闻、企业动态等公开信息渠道自动搜索投资扩产信号,按三门县"4+2+X"现代产业体系进行智能匹配评分,并自动生成个性化招商对接策略报告。
核心特点:
- 单文件自包含:sanmen_skill.py 一个文件包含所有后端代码、HTML模板、示例数据、数据库逻辑
- 自动安装依赖:首次运行自动检测并安装 flask、requests、beautifulsoup4
- 一键启动:python sanmen_skill.py
- 内置12个真实上市公司项目:启动后自动加载,无需联网即可体验全部功能
- 多源采集+自动重试:网络波动或目标网站受限时自动降级,不影响整体使用
二、快速开始(30秒上手)
环境要求
- Python 3.11+
- 可以连接互联网(首次运行自动安装依赖,依赖装好后可离线运行)
安装与启动
# 1. 下载 sanmen_skill.py 到任意目录
# 2. 直接运行
python sanmen_skill.py
不需要 pip install,不需要配置文件,不需要 templates 目录,不需要 data 目录。
启动后控制台会显示:
正在加载种子数据...
已加载 12 个示例项目
============================================================
三门县自动化招商项目挖掘与对接策略系统
============================================================
访问地址:http://127.0.0.1:5000
数据看板:http://127.0.0.1:5000/
项目列表:http://127.0.0.1:5000/projects
在线采集:http://127.0.0.1:5000/collect
三门画像:http://127.0.0.1:5000/profile
数据库:/home/你的用户名/.sanmen_skill/projects.db
============================================================
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://172.24.0.46:5000
浏览器打开 http://localhost:5000/ 即可使用。
停止系统
在运行窗口按 Ctrl + C 即可。
三、什么时候该用这个系统?(使用时机)
场景一:日常巡检(建议每天1次,上午9-10点)
为什么这个时间:上市公司公告通常在盘前(8:00-9:00)和盘后(15:30后)披露,上午10点前跑一次可以覆盖前一交易日的全部新公告。
怎么操作:
1. 打开系统 → 在线采集页面
2. 使用默认关键词(对外投资/设立子公司/项目投资等)
3. 时间范围选"最近7天"
4. 点击"开始采集"
5. 查看新入库项目的评分,关注A级和B级
场景二:事件驱动(看到投资新闻后马上用)
什么时候:在微信/新闻APP看到"某上市公司宣布投资XX亿建设生产基地"这类新闻时,立即打开系统搜索该企业。
怎么操作:
1. 在线采集页面 → 关键词输入框
2. 输入企业名称(如"恒瑞医药")或项目关键词(如"原料药 生产基地")
3. 时间范围选"最近30天"
4. 点击"开始采集"
5. 查看系统对该项目的评分和对接策略
场景三:定向排查(建议每周1次)
什么时候:按产业方向深度搜索,发现你平时可能遗漏的潜在目标。
怎么操作:
1. 在线采集页面 → 点击快捷模板按钮(如"生物医药"/"绿色氢能"等)
2. 系统自动填入该产业的专业关键词
3. 时间范围选"最近90天"
4. 点击"开始采集"
5. 筛选B级以上项目,逐个查看对接策略
四、核心能力
1. 自动化项目采集(多源+重试+降级)
系统从三个数据源并行采集,内置自动重试机制:
| 数据源 | 采集内容 | 重试策略 |
|---|---|---|
| 巨潮资讯网 | 上市公司公告全文检索 | 超时/网络错误重试3次,指数退避 |
| 行业新闻(36氪/财联社) | 投资扩产新闻报道 | 同上 |
| 企业动态监控 | 15家重点上市公司动态 | 同上 |
容错机制:
- 网络超时 → 自动等待2/4/8秒后重试,共3次
- HTTP 429(限流) → 等待5/10/15秒后重试
- HTTP 403(禁止) → 跳过该源,其他源继续
- HTTP 5xx(服务器错误) → 重试1次后降级
- 部分失败不影响整体:即使1-2个源失败,已成功的数据仍会正常评分入库
- 采集结果页会明确展示哪些源成功、哪些失败及原因
关键词矩阵:对外投资、设立子公司、项目投资、生产基地、产业基地、签署协议、框架协议、搬迁、产能转移等。
2. 六维智能匹配评分
采用六维加权评分模型(满分100分),对每个项目自动打分:
| 维度 | 权重 | 评估要点 |
|---|---|---|
| 产业匹配度 | 30分 | 匹配4+2+X产业体系、产业链互补性、政策支持度 |
| 要素适配度 | 25分 | 蒸汽/天然气/港口/用工/土地五大要素匹配 |
| 平台承载度 | 15分 | 六大平台用地性质/规模/配套匹配 |
| 项目质量度 | 15分 | 投资规模、技术水平、税收贡献、就业带动 |
| 时效紧迫度 | 10分 | 项目阶段、决策窗口期 |
| 对接可行性 | 5分 | 人脉可达性、区域竞争态势、企业偏好 |
评级体系:
| 等级 | 分数区间 | 含义 | 行动建议 |
|---|---|---|---|
| A级 | 85-100分 | 重点突破 | 县主要领导亲自对接,组建专班跟踪 |
| B级 | 70-84分 | 积极跟进 | 招商部门负责人对接,定期拜访 |
| C级 | 55-69分 | 持续培育 | 驻外招商组保持联系,推送动态 |
| D级 | <55分 | 备选库 | 纳入项目库观察 |
3. 个性化对接策略生成
为每个项目自动生成六大模块策略报告:
- 对接路径推荐 — 匹配在外企业家/人才/官员/中介四大资源网络,推荐最优触达路径
- 三门资源筹码分析 — 分析三门哪些资源是该项目急需的,附沟通话术
- 项目方需求洞察 — 分析项目最想要什么,三门如何满足
- 关键决策者画像 — 决策者身份、教育背景、性格特征、兴趣爱好、沟通风格、关注点
- 沟通策略与行动方案 — 分阶段行动时间表、核心话术要点
- 竞争分析 — 竞争区域优劣势对比、三门差异化优势
五、功能页面
| 页面 | 地址 | 功能说明 |
|---|---|---|
| 数据看板 | / |
项目统计、产业分布图、评级分布图、Top高分项目、三门产业体系与平台展示 |
| 项目列表 | /projects |
按评级/产业/关键词筛选排序,六维评分条可视化 |
| 项目详情 | /project/<id> |
六维雷达图、评分明细、子项打分依据、匹配分析 |
| 对接策略报告 | /project/<id>/strategy |
六大模块完整策略报告,支持打印导出PDF |
| 在线采集 | /collect |
输入关键词实时采集,含快捷模板、错误提示、FAQ |
| 三门画像 | /profile |
三门县产业体系、要素保障、六大平台、交通优势、资源网络 |
六、API接口
| 接口 | 方法 | 功能 | 返回字段 |
|---|---|---|---|
/api/collect |
POST | 执行在线采集 | success, collected, saved, projects, errors, warnings, source_stats |
/api/load_seed |
POST | 加载示例数据 | success, count |
/api/clear |
POST | 清空所有数据 | success |
/api/stats |
GET | 获取统计数据 | total_projects, grade_distribution, industry_distribution, score_ranges |
采集API返回示例
{
"success": true,
"collected": 15,
"saved": 14,
"projects": [
{"company_name": "恒瑞医药", "title": "...", "score": 79.0, "grade": "B"}
],
"errors": [
{"source": "行业新闻", "message": "请求超时", "time": "10:30:15"}
],
"warnings": [
{"source": "巨潮资讯网", "message": "未采集到数据", "time": "10:30:20"}
],
"source_stats": {
"巨潮资讯网": {"count": 5, "status": "success"},
"行业新闻": {"count": 0, "status": "failed"},
"企业动态": {"count": 10, "status": "success"}
},
"partial_failure": true
}
七、文件结构
/workspace/
├── sanmen_skill.py # 唯一运行入口:包含后端+模板+数据+数据库(4496行)
├── SKILL.md # 本文件(使用说明)
├── style-guide.md # 代码与界面风格规范
├── checklist.md # 部署与验收检查清单
└── README.md(可选) # 发布到 SkillHub 时的简短介绍
上传到 SkillHub 时,只需上传 sanmen_skill.py + SKILL.md 即可。
八、自定义配置
所有配置都内嵌在 sanmen_skill.py 中。如需调整,用文本编辑器打开该文件修改对应变量:
| 配置项 | 文件中的变量/位置 | 用途 |
|---|---|---|
| 六维评分权重 | SCORE_WEIGHTS |
调整产业匹配度、要素适配度等维度权重 |
| 评级阈值 | GRADE_THRESHOLDS |
调整A/B/C/D级分数线 |
| 产业关键词 | INDUSTRY_KEYWORDS |
增减产业识别关键词 |
| 三门县画像 | SANMEN_PROFILE |
更新三门产业、平台、要素等数据 |
| 种子项目 | SEED_PROJECTS |
替换为更贴合的示例项目 |
| 重点关注企业 | CompanyCollector.target_companies |
增加需要监控的上市公司 |
| 在外企业家/人才/官员 | StrategyEngine._init_network_database() |
替换为三门真实人脉资源 |
九、反模式与常见问题(FAQ)
Q1:第一次运行时报 ModuleNotFoundError 怎么办?
系统会自动安装依赖,但如果你的网络无法访问 PyPI,可能会失败。
解决方法:
1. 手动安装依赖:pip install flask requests beautifulsoup4
2. 再次运行:python sanmen_skill.py
Q2:采集结果显示"未采集到数据"怎么办?
可能原因:网络波动、目标网站反爬、关键词过窄。
解决方法(按优先级):
1. 检查网络连接是否正常
2. 稍等5分钟后重试(系统已内置3次自动重试,指数退避)
3. 扩大关键词范围(如用"投资"代替"对外投资")
4. 增大时间范围(选90天或半年)
5. 如持续失败,点击"加载示例数据"先查看系统功能
Q3:采集到部分数据但有警告信息?
这是正常现象。系统采用多源采集,部分数据源失败不影响其他源。页面会明确显示:
- ✅ 哪些源成功了,采集到多少条
- ⚠️ 哪些源失败了,失败原因是什么
- 💡 建议操作
已成功采集的项目会正常评分入库。
Q4:评分结果感觉不准确怎么办?
评分基于关键词匹配和规则引擎,可能与实际判断有偏差。
调整方法:
- 修改 sanmen_skill.py 中的 SCORE_WEIGHTS 调整六维权重
- 修改 sanmen_skill.py 中的 INDUSTRY_KEYWORDS 增减产业关键词
- 修改 sanmen_skill.py 中 MatchingEngine 类各 _score_xxx() 方法的评分规则
Q5:如何添加新的重点关注企业?
编辑 sanmen_skill.py 中 CompanyCollector 类的 target_companies 列表,添加:
{"name": "企业名称", "code": "股票代码", "industries": ["产业方向"]},
Q6:策略报告中的在外企业家信息是真实的吗?
当前为模拟数据(使用化名)。实际使用时需编辑 sanmen_skill.py 中 StrategyEngine._init_network_database() 方法,替换为三门县真实的在外企业家、人才、官员信息。
Q7:系统启动报错怎么办?
| 错误信息 | 解决方法 |
|---|---|
ModuleNotFoundError: No module named 'flask' |
运行 pip install flask requests beautifulsoup4 后再启动 |
Address already in use 端口被占用 |
修改 sanmen_skill.py 最后一行 app.run(host='0.0.0.0', port=5000) 为其他端口 |
database is locked 数据库锁定 |
删除 ~/.sanmen_skill/projects.db 后重启 |
Permission denied 权限错误 |
确保当前用户对 ~/.sanmen_skill/ 目录有写入权限 |
Q8:ECharts图表不显示?
图表依赖CDN加载ECharts库,需联网。如内网环境:
1. 下载 echarts.min.js 到本地
2. 修改 sanmen_skill.py 中 BASE_HTML 字符串里的CDN引用为本地路径
Q9:采集速度很慢?
系统采集3个数据源×多个关键词,每个关键词间有1秒礼貌等待(避免触发反爬),总耗时约30-60秒属正常。
加速方法:减少关键词数量、减小最大采集数量、或减少时间范围。
Q10:如何调整评级阈值?
编辑 sanmen_skill.py 中的 GRADE_THRESHOLDS:
GRADE_THRESHOLDS = {
"A": 85, # 重点突破
"B": 70, # 积极跟进
"C": 55, # 持续培育
"D": 0, # 备选库
}
Q11:如何导出策略报告为PDF?
- 进入任意项目详情页
- 点击"查看对接策略"进入策略报告页
- 点击"打印/导出PDF"按钮
- 在浏览器打印对话框中选择"保存为PDF"
Q12:如何备份或迁移数据?
数据库文件位于 ~/.sanmen_skill/projects.db。复制该文件即可备份。在新机器上首次运行 sanmen_skill.py 后,将备份文件覆盖到同一路径即可恢复。
Q13:上传到 SkillHub 后别人怎么运行?
下载者只需执行:
python sanmen_skill.py
系统会自动处理剩余一切:安装依赖、创建数据库、加载示例数据、启动Web服务。
十、三门县招商画像速查
"4+2+X"现代产业体系
| 类别 | 产业方向 | 评分权重 |
|---|---|---|
| 4大优势产业 | 生物医药、绿色氢能、低空经济、算力 | 15分 |
| 2大特色产业 | 清洁能源、新兴橡塑、装备制造 | 12分 |
| X大新兴产业 | 汽摩配、户外时尚、新型材料 | 8分 |
五大要素保障
| 要素 | 参数 | 核心优势 |
|---|---|---|
| 蒸汽 | 790蒸吨/时(核电600+火电190) | 全国最大核能供汽项目,零碳绿色蒸汽 |
| 天然气 | 夏季3.71元/方,冬季3.89元/方 | 低于长三角平均水平 |
| 港口 | 健跳港,5万吨级泊位,年作业340天 | 浙江四大深水良港之一 |
| 用工 | 平均薪酬7万元/年,技师学院7000人 | 用工成本低于宁波/杭州15-30% |
| 土地 | 31.4-57.5万元/亩 | 多平台多地块可选 |
六大承载平台
| 平台 | 面积 | 主导产业 |
|---|---|---|
| 滨海科技城 | 32平方公里 | 新能源/高端装备/数字经济 |
| 洋市涂区块 | 6000亩(省级化工园区) | 医药化工/橡胶化工/新材料 |
| 健跳港区块 | 600亩 | 临港产业/清洁能源/大宗物流 |
| 埔坝港工业园区 | 20.32平方公里 | 汽车配件/高端装备/新材料 |
| 沿海工业城 | 1325亩 | 新材料/高端装备/绿色化工 |
| 金鳞湖北岸智慧产业园 | 364.6亩 | 新能源/新材料/高端智能制造 |
十一、注意事项
- 数据来源合规:所有项目信息均来自公开渠道,不涉及非公开信息
- 人物画像说明:关键决策者画像基于行业通用特征和公开信息推断,实际对接前应进一步调研核实
- 评分权重可调:六维评分权重可在
sanmen_skill.py中的SCORE_WEIGHTS调整 - 反爬处理:系统内置3次重试+指数退避,部分网站仍可能被限制,属正常现象
- 数据更新:建议每日执行一次日常巡检采集,保持项目库数据新鲜度
- 在外企业家信息:当前为模拟数据,使用前必须替换为真实信息
版本:v1.0
适配:Python 3.11+
更新日期:2026-08