Hauscout 데이터 수집
프로젝트 위치
INLINECODE0
수집 실행
CODEBLOCK0
CLI 옵션
- -
--url <url> — 특정 매물 1개만 수집 - INLINECODE2 — 특정 검색 프로필만
- INLINECODE3 — 브라우저 표시 (디버깅용)
- INLINECODE4 — AI 분석만, DB 저장 안 함
수집 파이프라인 요약
- 1. Playwright로 HouseSigma 맵 검색 → 매물 목록
- 가격/침실/타입 코드 필터링
- 상세 페이지 방문 → DOM 텍스트 추출 (Comparables 섹션 제외)
- GPT-4o-mini AI 분석 → 구조화 데이터 + 가성비 분석
- Neon PostgreSQL 저장 (신규/업데이트/가격변동 추적)
수집 후 체크리스트
- 1. 에러 없이 완료됐는지 확인 (exit code, 에러 카운트)
- 신규 매물이 있으면 주소/가격/AI 요약 기록
- 가격 변동이 있으면 기록
- INLINECODE5 에 수집 결과 요약 작성
- git commit & push (변경사항 있을 때만)
DB 확인 (필요시)
CODEBLOCK1
검색 프로필 (현재 2개)
- 1. Queensway 근처 콘도 (2-3bed, $800K 이하)
- 미시사가 단독주택 ($800K 이하)
주의사항
- - HouseSigma는 SPA →
domcontentloaded + waitForTimeout 사용 - 가격 추출은
"Listed for: $XXX" 패턴만 사용 (Comparables 가격 혼입 방지) - 요청 간 2-4초 랜덤 딜레이 (rate limit 방지)
技能名称: hauscout
详细描述:
Hauscout 数据采集
项目位置
/Users/kendrick/projects/hauscout
采集执行
bash
cd /Users/kendrick/projects/hauscout
npx tsx scripts/collect.ts
CLI 选项
- - --url — 仅采集单个特定房源
- --profile — 仅采集特定搜索配置文件
- --headed — 显示浏览器(用于调试)
- --dry-run — 仅进行 AI 分析,不保存到数据库
采集流程摘要
- 1. 使用 Playwright 搜索 HouseSigma 地图 → 获取房源列表
- 按价格/卧室/类型代码进行筛选
- 访问详情页面 → 提取 DOM 文本(排除 Comparables 部分)
- GPT-4o-mini AI 分析 → 结构化数据 + 性价比分析
- 保存到 Neon PostgreSQL(追踪新增/更新/价格变动)
采集后检查清单
- 1. 确认是否无错误完成(检查退出代码、错误计数)
- 如有新房源,记录地址/价格/AI 摘要
- 如有价格变动,记录变动信息
- 在 memory/YYYY-MM-DD.md 中编写采集结果摘要
- 执行 git commit & push(仅在存在变更时)
数据库检查(如需)
bash
cd /Users/kendrick/projects/hauscout
npx tsx -e
import { neon } from @neondatabase/serverless;
import { drizzle } from drizzle-orm/neon-http;
import * as schema from ./src/db/schema;
// 需要加载 .env.local
const sql = neon(process.env.DATABASE_URL!);
const db = drizzle(sql, { schema });
const all = await db.select().from(schema.listings);
console.log(JSON.stringify(all, null, 2));
搜索配置文件(当前 2 个)
- 1. Queensway 附近公寓(2-3 卧,$80 万以下)
- 密西沙加独立屋($80 万以下)
注意事项
- - HouseSigma 为 SPA → 使用 domcontentloaded + waitForTimeout
- 价格提取仅使用 Listed for: $XXX 模式(避免混入 Comparables 价格)
- 请求之间随机延迟 2-4 秒(防止触发速率限制)