【免费下载链接】HomeHarvest
Python package for scraping real estate property data
HomeHarvest 是一款 Python 房产数据抓取库,可以从 Realtor.com 抓取房屋数据并格式化为 MLS 挂牌风格。它官方提供 HomeHarvest MCP Server,让 AI Agent(LLM)通过自然语言自动抓取、过滤和分析房屋价格。本文将带你从零开始,完成房产数据接入 AI Agent 的全流程。
一、为什么 AI Agent 需要房产数据
过去,想让大模型"懂房价",你得自己写爬虫、维护反爬策略、清洗字段,再喂给 LLM。HomeHarvest 把这些工作封装成了一个库:
- 数据源:直接从 Realtor.com 抓取房产数据
- 数据格式:结构化为 MLS 挂牌风格,字段规范(地址、价格、卧室/卫生间数、面积、成交日期等)
- 灵活过滤:按卧室数、卫生间数、价格、面积、地块大小、建造年份筛选
- 时间维度:按小时、天或指定日期区间查询
- 多状态支持:
for_sale、for_rent、sold、pending一次或分别查询 - 多种输出:Pandas DataFrame、Pydantic 模型或原始 JSON
核心抓取入口在 homeharvest/init.py,底层抓取逻辑位于 homeharvest/core/scrapers/realtor/。
二、MCP Server 原理:LLM 如何自动拿到房数据
MCP(Model Context Protocol)是一种让大模型连接外部数据源的标准协议。把 MCP Server 添加到 AI 客户端后,LLM 就能"看见"该 Server 暴露的数据工具,并按需自动调用。
HomeHarvest MCP Server 把scrape_property()封装成 MCP 工具,整条链路是:
用户提问(自然语言) ↓ LLM 选择工具并自动填参 ↓ HomeHarvest MCP Server ↓ Realtor.com(抓取原始数据) ↓ 结构化房屋数据返回给 LLM → 直接分析、生成报告也就是说,你不需要写任何代码,一句话就能让 LLM 完成"抓取 + 过滤 + 汇总"。
三、HomeHarvest 快速上手:1 分钟跑通首次抓取
环境要求 Python >= 3.9,一行命令安装:
pip install -U homeharvest最简示例:抓取 San Diego 近 30 天成交房源并导出 CSV:
from homeharvest import scrape_property properties = scrape_property( location="San Diego, CA", listing_type="sold", past_days=30 ) properties.to_csv("results.csv", index=False) print(f"Found {len(properties)} properties")想查看源码也可以克隆仓库研究实现细节:
git clone https://gitcode.com/gh_mirrors/ho/HomeHarvestscrape_property() 核心参数速查
| 参数 | 作用 | 示例 |
|---|---|---|
location | 地点,支持 ZIP、城市、"城市, 州"、完整地址 | "92104"或"Austin, TX" |
listing_type | 挂牌状态,可传列表组合查询 | "sold"、["for_sale", "pending"] |
past_days/past_hours | 时间窗口过滤 | 30/24 |
price_min/price_max | 价格区间 | 300000/800000 |
beds_min/baths_min等 | 户型过滤 | beds_min=3 |
sort_by/sort_direction | 排序 | "list_price"+"asc" |
return_type | 返回格式 | "pandas"/"pydantic"/"raw" |
完整参数说明见 README.md,枚举定义(如ListingType、Property模型)在 homeharvest/core/scrapers/models.py。
四、将 HomeHarvest MCP Server 接入 AI Agent 的 3 个步骤
第 1 步:安装 MCP Server
项目 README 中列出了官方 HomeHarvest MCP Server,按其说明在本地完成安装(Python 环境就绪即可,无需额外依赖配置)。
第 2 步:在 MCP 客户端中注册 Server
打开你的 AI 客户端(Claude Desktop、Cursor 等)的 MCP 配置文件,新增一个homeharvest条目,指向该 Server 的启动命令,例如:
{ "mcpServers": { "homeharvest": { "command": "按官方 MCP 安装说明填写的启动命令", "args": ["..."] } } }不同分发渠道的启动命令(如
uvx、npx、python -m)略有差异,以官方 HomeHarvest MCP 的安装说明为准。
第 3 步:用自然语言验证
重启客户端后,直接输入:
"帮我查一下过去 30 天 San Diego 的成交房源,按价格从低到高排列,统计平均单价。"
LLM 会自动调用scrape_property工具、填充location、listing_type="sold"、past_days=30、sort_by="list_price"等参数,并基于返回的 DataFrame 完成分析——全程无需你写代码。
五、3 个实用场景:让 LLM 自动分析房价
场景 1:片区成交均价分析
"对比 92104 和 92101 两个 ZIP 码近 90 天 sold 房源,给我每平方英尺价格的中位数对比表。"
场景 2:新挂牌房源监控
利用updated_in_past_hours参数(参见 homeharvest/init.py),让 Agent 定期执行"查最近 2 小时有更新的在售房源",即可构建轻量级的房源变化追踪。
场景 3:土地价格批量分析
仓库自带完整示例 examples/price_of_land.py:按 ZIP 码批量抓取 sold/pending 土地挂牌数据,计算lot_acres(地块英亩)和ppa(每英亩价格),并输出 Excel 文件。这是"批量抓取 + 派生字段 + 报表输出"的绝佳参考模板,改造一下即可作为 LLM 的自动化任务。
六、常见注意事项与排错
- 10,000 条结果上限:
limit最大 10000。数据量大时,用date_from/date_to按时间切片分批获取。 - 认证失败:若抛出
AuthenticationError,说明被目标站点拦截,可通过proxy参数配置代理(格式http://user:pass@host:port)。异常定义见 homeharvest/exceptions.py。 - 挂牌类型写错:
listing_type必须是合法值(for_sale、for_rent、sold、pending等),否则抛出InvalidListingType。 - 合规提醒:请遵守目标网站的使用条款,控制抓取频率;
parallel=False可切换为顺序分页模式以降低请求压力。
七、总结
📌 回顾一下核心链路:pip 安装 HomeHarvest → 接入 HomeHarvest MCP Server → 用自然语言指挥 LLM 抓取房价。相比自己维护爬虫,这套方案让房产数据接入 AI Agent 的成本降到最低:库处理抓取和清洗,MCP 处理工具化,LLM 负责理解你的业务问题。下一步,不妨从 examples/price_of_land.py 这个示例改起,搭建属于你的房价分析 Agent。
【免费下载链接】HomeHarvest
Python package for scraping real estate property data
相关推荐
让AI Agent直接管理你的数据库:Xata MCP Server接入LLM工作流完整指南
让AI Agent直接管理你的数据库:Xata MCP Server接入LLM工作流完整指南 Xata 是一个开源、云原生的 Postgres 平台,主打 Co
Canary Server房屋系统:房产交易与物品存储
Canary Server房屋系统:房产交易与物品存储 概述 Canary Server作为OpenTibia社区的高性能服务端,提供了完善的房屋系统,支持房产
游戏开发后端网络终极指南:如何用LanceDB向量数据库实现房地产智能分析与价格预测
终极指南:如何用LanceDB向量数据库实现房地产智能分析与价格预测 在当今数据驱动的房地产市场中,准确分析房产特征并预测价格已成为投资者和开发商的核心竞争力。
数据库向量数据库全文检索人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考