← 返回 Skill 列表
extension
分类: 数据与分析无需 API Key

广州市住建局预售证每日观察

每日监测各地住建局新增预售证,结构化识别每条预售证信息,匹配到本地楼盘库,输出机器可读清单与人读报告,可选回填后台楼盘。零第三方依赖,城市可扩展。适用于地产分析师跟踪预售证动态、新房供应监测、政府信息整理自动化、地产项目研究。

person作者: user_fcd70395hubcommunity

预售证每日监测 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 为盛哥(大脑勺·买房决策)站点,方便直接用;其他用户请用环境变量覆盖。

匹配策略(三级,优先级从高到低)

  1. 显式别名(presale_mapping.json 的 aliases,最可靠,confirmed)
  2. 关键字模糊(2字汉字窗口交集,唯一命中candidate,多个ambiguous)
  3. 未匹配(unmatched,需补 mapping)

详见 references/matching_rules.md。

扩展新城市

  1. F12 抓目标城市住建局预售证列表接口的 URL/参数/Referer
  2. 在 assets/cities.json 追加城市配置(字段说明见 references/cities.md)
  3. 接口返回结构若非标准 {data, totalPage},在 fetch_presale() 增加适配分支
  4. 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