概览
房地产 AI 代理系统是一套基于 Python 的解决方案,利用 AI 代理与 Bright Data 的 Model Context Protocol(MCP)服务器,从多个来源提取、处理并交付结构化的房地产房源数据。
- 自动化从 Zillow、Realtor.com、Redfin 等房地产网站提取公开房产数据:Zillow、Realtor.com 等
- 集成 Bright Data 代理,实现强大的反爬对抗与地理解锁
- 使用 Nebius Qwen LLM 进行自适应、基于 Schema 校验的房源数据提取
- 以结构化 JSON 输出结果,便于分析或下游应用使用
目录
- 功能
- 快速开始
- 环境设置
- 使用示例
- 核心能力
- 安全最佳实践
功能
- 智能 AI 代理:使用 CrewAI 与 LLM 进行自适应数据提取与房源细节解析。
- Bright Data 集成:通过 MCP 服务器无缝支持代理轮换与 CAPTCHA 处理。
- 严格的 JSON Schema:始终以 snake_case 返回结果,并输出经过 Schema 校验的 JSON。
- 即插即用:几分钟内即可搭建先进的房产数据管道。
- 跨平台:Python 3.9;Bright Data MCP 服务器需要 Node.js。
快速开始
- 克隆此仓库
git clone https://github.com/brightdata-com/real-estate-ai-agents.git cd real-estate-ai-agents
环境设置
前置条件
- Python 3.9+
- Node.js + npm(用于运行 Bright Data MCP 服务器)
- 拥有 API token 的 Bright Data 账号
- Nebius AI API key
虚拟环境
macOS/Linux
python3.9 -m venv venv
source venv/bin/activate
Windows
python3.9 -m venv venv
.venvScriptsactivate
安装依赖
pip install "crewai-tools[mcp]" crewai mcp python-dotenv pandas
添加环境变量
在项目目录中创建 .env 文件,并写入以下内容:
BRIGHT_DATA_API_TOKEN="your_api_token_here"
WEB_UNLOCKER_ZONE="your_web_unlocker_zone"
BROWSER_ZONE="your_browser_zone"
NEBIUS_API_KEY="your_nebius_api_key"
使用示例
运行代理:
python real_estate_agents.py
如果成功,脚本将从一个房源列表页中提取房产数据,并输出如下结果:
{
"address": "123 Main Street, City, State 12345",
"price": "$450,000",
"bedrooms": 3,
"bathrooms": 2,
"square_feet": 1850,
"lot_size": "0.25 acres",
"year_built": 1995,
"property_type": "Single Family Home",
"listing_agent": "John Doe, ABC Realty",
"days_on_market": 45,
"mls_number": "MLS123456",
"description": "Beautiful home with updated kitchen...",
"image_urls": ["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
"neighborhood": "Downtown Historic District"
}
技术栈
- CrewAI
- Nebius
- Bright Data MCP
核心能力
- 可提取地址、价格、卧室数、卫生间数、建筑面积、地块面积、建造年份、房产类型、挂牌经纪人、在售天数、MLS 编号、描述、图片 URL 以及社区/街区信息等字段。
- 严格的 JSON Schema 校验:始终输出 snake_case 的键名。
- 使用 Bright Data 的 MCP 技术栈处理 代理轮换、CAPTCHA 以及反爬保护。(注:原文中的 “Bright Datas” 应为 “Bright Data’s”)
- 易于扩展,可添加更多数据字段与自定义来源。
安全最佳实践
- 将所有 API key 与凭据安全地存放在
.env文件中。 - 在使用前务必对提取的数据进行校验与清洗。
- 遵守 robots.txt 以及网站服务条款。