一个基于 FastAPI 和 Vue.js 的房源数据分析系统,支持在售房源和成交房源的数据展示、分析和评估。
- 房源搜索:支持按小区名称搜索在售和成交房源
- 数据可视化:展示户型分布、楼层分布等统计图表
- 房源评估:提供详细的房源评估报告,包括:
- 房源基本信息
- 小区成交历史
- 价格走势分析
- 在售房源分布
- 成交记录分析
- 响应式设计:支持PC端和移动端访问
- 实时数据:支持数据实时更新和展示
- Python 3.12
- FastAPI
- MongoDB
- Gunicorn
- Uvicorn
- Vue.js 3
- Element Plus
- Chart.js
- Axios
- Bootstrap 5
targethouse/
├── frontend/ # 前端文件
│ ├── static/ # 静态资源
│ ├── js/ # JavaScript文件
│ │ ├── app.js # 主应用逻辑
│ │ └── calculator.js # 投资计算器逻辑
│ ├── index.html # 主页面
│ └── style.css # 样式文件
├── main.py # FastAPI应用入口
├── database.py # 数据库操作
├── spider.py # 数据爬虫
├── gunicorn_config.py # Gunicorn配置
├── requirements.txt # Python依赖
└── targethouse.service # Systemd服务配置
- Python 3.12+
- MongoDB 4.4+
- Nginx 1.18+
# 创建虚拟环境
python -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt# 创建数据库用户
use targethouse
db.createUser({
user: "username",
pwd: "password",
roles: ["readWrite"]
})# 复制Nginx配置
sudo cp targethouse /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/targethouse /etc/nginx/sites-enabled/
# 配置SSL证书
# 将证书文件放置在指定位置# 复制服务配置
sudo cp targethouse.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable targethouse# 启动MongoDB
sudo systemctl start mongod
# 启动应用服务
sudo systemctl start targethouse
# 启动Nginx
sudo systemctl start nginx创建.env文件并配置以下变量:
MONGO_USERNAME=your_username
MONGO_PASSWORD=your_password
MONGO_HOST=localhost
MONGO_PORT=27017
MONGO_AUTH_SOURCE=admin
主要配置项:
- SSL证书配置
- 反向代理设置
- CORS策略
- 静态文件处理
主要配置项:
- 工作进程数
- 超时设置
- 日志配置
- 代理设置
GET /api/houses/on-sale
GET /api/houses/sold
查询参数:
community: 小区名称(必填)city: 城市名称(必填)skip: 跳过记录数(默认0)limit: 返回记录数(默认10)
- 访问系统:https://www.hitoday.top
- 输入小区名称进行搜索
- 使用筛选器过滤数据
- 查看数据可视化图表
- 使用投资计算器进行分析
- Nginx日志:/var/log/nginx/
- 应用日志:/var/log/targethouse/
# 查看服务状态
sudo systemctl status targethouse
# 重启服务
sudo systemctl restart targethouse
# 查看日志
sudo tail -f /var/log/targethouse/error.log- 已启用HTTPS
- 已配置CORS策略
- 已启用HSTS
- 已配置适当的请求限制
系统包含一个Chrome扩展用于数据采集:
- 在Chrome中加载扩展
- 访问目标房源页面
- 点击扩展图标开始采集
- 数据会自动保存到数据库
MIT License
如有问题或建议,请联系开发团队。
- 初始版本发布
- 支持基础房源数据查询
- 添加投资计算器功能
- 实现数据可视化
- 支持HTTPS访问