2026-04-14 17:00:07 +08:00
2026-04-14 17:00:07 +08:00
2026-03-23 10:37:38 +08:00
2026-03-23 10:37:38 +08:00
2026-04-07 16:29:29 +08:00
2026-03-23 10:37:38 +08:00
2026-04-07 15:43:13 +08:00
2026-04-07 15:43:13 +08:00
2026-04-07 15:43:13 +08:00
2026-04-07 15:43:13 +08:00
2026-04-07 15:43:13 +08:00

HouseDream - 北京市房地产数据监控系统

自动爬取、提取并可视化展示北京市住房和城乡建设委员会的房地产交易数据。

功能特性

  • 自动爬取: 使用 Playwright 定时抓取官方页面数据
  • 数据提取: 结构化提取商品房和存量房交易统计
  • 截图存档: 每日完整页面截图保存
  • 可视化展示: Web 界面展示历史数据,支持日期切换
  • API 接口: 提供 RESTful API 供外部调用

数据模块

商品房数据统计

  • 可售期房统计
  • 预售许可(上月汇总)
  • 期房网上认购(当日)
  • 期房网上签约(当日)
  • 未签约现房统计
  • 现房项目情况
  • 现房网上认购(当日)
  • 现房网上签约(当日)

存量房网上签约统计

  • 月签约统计
  • 日签约统计

存量房维度统计

  • 按经纪机构统计Top 10
  • 按所在区县统计
  • 按建筑面积统计

项目结构

/app/houseDream/
├── data/               # JSON 数据文件
├── pic/                # 每日页面截图
├── web/                # 前端界面
│   ├── index.html      # 主页面
│   ├── style.css       # 样式
│   ├── app.js          # 前端逻辑
├── scripts/            # 后端脚本
│   ├── daily.js        # 完整爬取流程
│   └── screenshot.js   # 仅截图
├── public/             # 公共资源
│   └── extract.js      # 数据提取逻辑
│   └── define.js       # 数据定义
├── server.js           # Web 服务器
├── package.json        # 项目配置
└── README.md           # 本文件

安装与运行

依赖安装

cd /app/houseDream
bun install

手动运行

# 启动 Web 服务器
bun run start

# 开发模式(文件变更自动重启)
bun run dev

# 执行完整爬取(截图+数据提取)
bun run daily

# 仅截图
bun run screenshot

Playwright 浏览器安装

首次安装依赖后请执行:

bunx playwright install chromium

PM2 管理(推荐)

# 启动服务
pm2 start "bun run start" --name houseDream

# 查看状态
pm2 list
pm2 logs houseDream

# 重启/停止
pm2 restart houseDream
pm2 stop houseDream

# 设置开机自启
pm2 save
pm2 startup

API 接口

接口 方法 说明
/ GET 可视化界面
/api/dates GET 获取可用日期列表
/api/data/YYYY-MM-DD GET 获取指定日期数据
/pic/YYYY-MM-DD.png GET 获取指定日期截图

数据来源

技术栈

  • 爬虫: Playwright (Chromium)
  • 后端: Bun + Bun.serve
  • 前端: HTML5 + CSS3 + Vanilla JavaScript
  • 进程管理: PM2

环境变量

变量 默认值 说明
BASE_DIR 当前工作目录 项目根目录(用于定位 data/pic/web/public
HOST 127.0.0.1 服务器监听地址
PORT 8080 服务器监听端口

注意事项

  1. 数据文件永久保留,不会自动清理
  2. 页面使用 Playwright 获取完整渲染后的内容
  3. 默认监听地址为 127.0.0.1,可通过环境变量 HOST 修改

许可证

ISC

Description
No description provided
Readme 33 MiB
Languages
JavaScript 77.7%
HTML 10.2%
CSS 8%
Shell 4.1%