预售证每日监测 Skill
用途
每日监测各地住建局官网新增预售证,自动完成:拉取预售证数据 → 结构化识别 → 去重 → 匹配到本地楼盘库 → 输出机器可读清单(new_presales.json)与人读报告(Markdown)→ 可选回填后台楼盘字段。
零第三方依赖(纯 Python 标准库),城市可扩展(当前预置广州阳光家缘,结构上可接入其他城市)。
触发场景
- 跟踪某城市新房预售证新增动态
- 把政府预售证数据整理成结构化清单
- 自动匹配预售证到本地楼盘库并回填
- 地产项目研究、新房供应监测、政府信息整理自动化
使用步骤
1. 运行监测
# 默认监测广州(用内置后台地址 47.120.22.40,盛哥可直接用)
python scripts/monitor_presale.py
# 指定城市(需先在 assets/cities.json 配置该城市)
CITY=shenzhen python scripts/monitor_presale.py
# 自定义后台地址
PROPERTIES_API=http://你的后台/api/properties BACKEND_BASE=http://你的后台 python scripts/monitor_presale.py
2. 查看产出(默认在 <skill>/data/)
new_presales.json:本次新增预售证机器可读清单(含详情链接、匹配结果)预售证监测报告_YYYY-MM-DD.md:人读报告(含表格、需人工映射段、写入状态)presale_baseline.json:去重基线(自动维护,记录已见证号)presale_mapping.json:别名映射表(人工维护,提升自动匹配率)
3. 维护别名映射(提升命中率)
报告的"需人工映射/确认的预售证"段会列出所有未自动匹配的项,并给可直接粘贴的 JSON 片段。人工确认对应后台楼盘 id 后,填入 data/presale_mapping.json 的 aliases,下次运行自动命中。详见 references/matching_rules.md。
4. 可选:回填后台
默认关闭。提供后台 Bearer Token 并确认写入字段后:
BRAIN_TOKEN=你的token ENABLE_BACKEND_WRITE=1 python scripts/monitor_presale.py
环境变量
| 变量 | 默认值 | 说明 |
|------|--------|------|
| CITY | guangzhou | 城市代码,对应 assets/cities.json 的 key |
| PROPERTIES_API | http://47.120.22.40/api/properties | 本地楼盘库接口 |
| BACKEND_BASE | http://47.120.22.40 | 后台根地址(回填用) |
| BRAIN_TOKEN | (空) | 后台 Bearer Token,回填必填 |
| ENABLE_BACKEND_WRITE | 0 | 写入开关 1=开 |
| BRAIN_WRITE_FIELD | presaleCerts | 写入字段名 |
| DATA_DIR | <skill>/data/ | 输出目录 |
默认后台地址
47.120.22.40为盛哥(大脑勺·买房决策)站点,方便直接用;其他用户请用环境变量覆盖。
匹配策略(三级,优先级从高到低)
- 显式别名(
presale_mapping.json的aliases,最可靠,confirmed) - 关键字模糊(2字汉字窗口交集,唯一命中
candidate,多个ambiguous) - 未匹配(
unmatched,需补 mapping)
详见 references/matching_rules.md。
扩展新城市
- F12 抓目标城市住建局预售证列表接口的 URL/参数/Referer
- 在
assets/cities.json追加城市配置(字段说明见references/cities.md) - 接口返回结构若非标准
{data, totalPage},在fetch_presale()增加适配分支 CITY=新城市 python scripts/monitor_presale.py验证
词表维护
- 品牌/房企前缀:
assets/brand_prefixes.json(名称归一化时剥离品牌) - 通用噪音词:
assets/generic_terms.json(提取有意义片段时剔除)
读不到词表文件时脚本用内置默认兜底,不影响运行。
模板资源
assets/presale_mapping.example.json:别名映射模板(含示例)assets/presale_baseline.example.json:去重基线模板assets/report_template.md:报告结构说明
依赖
Python 3.7+,无第三方包(纯标准库 urllib/json/re/datetime)。
数据流
住建局预售证接口 ──┐
├─→ 去重 ─→ 匹配 ─→ new_presales.json + 报告.md
本地楼盘库接口 ────┘ └─→ (可选) PATCH 回填后台
↑ ↑
presale_baseline.json BRAIN_TOKEN + ENABLE_BACKEND_WRITE
presale_mapping.json
微信扫一扫