API文档
链家房源数据分析RESTful API接口文档 v2.0
API概述
本系统提供RESTful API接口,用于获取链家房源数据的分析结果和可视化图表数据。
基础信息
| 基础URL | http://127.0.0.1:5001 |
| 数据格式 | JSON |
| 字符编码 | UTF-8 |
| 请求方式 | GET |
| API版本 | v2.0 |
| 总端点数 | 25个 |
调用示例
# 获取数据概况
curl http://127.0.0.1:5001/api/overview
# 获取统计数据
curl http://127.0.0.1:5001/api/statistics
# 获取区域分布
curl http://127.0.0.1:5001/api/district-distribution
数据概况
GET
接口地址
/api/overview
功能说明
获取数据库中房源数据的基本概况,包括总记录数、字段数量和字段列表。
返回示例
{
"total_rows": 13732,
"total_columns": 20,
"columns": ["id", "house_id", "district", "community", ...]
}
返回字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
| total_rows | int | 总记录数 |
| total_columns | int | 字段数量 |
| columns | array | 字段名列表 |
统计数据
GET
接口地址
/api/statistics
功能说明
获取价格和面积的描述性统计数据,包括均值、中位数、最大值、最小值、缺失值等。
返回示例
{
"price": {
"count": 13732,
"mean": 138.38,
"median": 99.0,
"min": 5.0,
"max": 4200.0,
"std": 120.5
},
"area": {
"count": 13732,
"mean": 95.2,
"median": 89.0
},
"missing_values": {
"decoration": 2931,
"build_year": 8864
}
}
区域分布
GET
接口地址
/api/district-distribution
功能说明
获取各行政区的房源数量分布统计,支持拼音和中文名称。
返回示例
[
{"district": "jinjiang", "district_cn": "锦江区", "count": 1500},
{"district": "qingyang", "district_cn": "青羊区", "count": 1200},
...
]
价格区间分布
GET
接口地址
/api/price-range
功能说明
获取不同价格区间的房源数量分布,共7个价格区间。
返回示例
[
{"range": "50万以下", "count": 1727},
{"range": "50-100万", "count": 5235},
{"range": "100-150万", "count": 2779},
...
]
户型分布
GET
接口地址
/api/house-type
功能说明
获取不同户型的房源数量分布,返回Top 20户型。
返回示例
[
{"house_type": "3室2厅", "count": 4500},
{"house_type": "2室1厅", "count": 3200},
...
]
建筑年代分布
GET
接口地址
/analysis/api/building-year
功能说明
获取不同建筑年代的房源数量分布。
返回示例
[
{"year": "暂无年代信息", "count": 8864},
{"year": "2020", "count": 826},
{"year": "2021", "count": 698},
...
]
装修分布
GET
接口地址
/analysis/api/decoration
功能说明
获取不同装修情况的房源数量分布。
返回示例
[
{"decoration": "精装", "count": 5969},
{"decoration": "简装", "count": 3159},
{"decoration": "N/A", "count": 2931},
{"decoration": "毛坯", "count": 1673}
]
朝向分布
GET
接口地址
/analysis/api/orientation
功能说明
获取不同朝向的房源数量分布。
返回示例
[
{"orientation": "南", "count": 4179},
{"orientation": "东南", "count": 3469},
...
]
完整分析
GET
接口地址
/api/full-analysis 或 /analysis/api/full
功能说明
获取完整的分析报告数据,包含所有维度的统计分析结果。
返回内容
| 字段 | 说明 |
|---|---|
| overview | 数据概况 |
| price_statistics | 价格统计 |
| area_statistics | 面积统计 |
| district_distribution | 区域分布 |
| house_type_distribution | 户型分布 |
| price_range_distribution | 价格区间分布 |
| building_year_distribution | 建筑年代分布 |
| decoration_distribution | 装修分布 |
| orientation_distribution | 朝向分布 |
图表API
图表API返回Plotly格式的图表数据(JSON),可直接用于前端Plotly.js渲染。
接口列表
| 接口 | 图表类型 | 说明 |
|---|---|---|
/viz/api/chart/district-price | 柱状图 | 各行政区平均价格 |
/viz/api/chart/price-distribution | 直方图 | 价格区间分布 |
/viz/api/chart/area-price | 散点图 | 面积价格相关性 |
/viz/api/chart/house-type | 环形图 | 户型占比分布 |
/viz/api/chart/building-year | 折线图 | 建筑年代趋势 |
/viz/api/chart/decoration | 环形图 | 装修情况分布 |
/viz/api/chart/orientation | 折线图 | 朝向分布 |
/viz/api/chart/district-distribution | 柱状图 | 各区域房源数量 |
/viz/api/chart/dashboard | 组合图 | 综合仪表盘 |
参数说明
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| limit | int | 500 | 限制返回数据条数(用于散点图) |
分析API
接口列表
| 接口 | 说明 |
|---|---|
/analysis/api/full | 完整分析报告 |
/analysis/api/district-distribution | 区域分布数据 |
/analysis/api/price-range | 价格区间分布 |
/analysis/api/house-type | 户型分布 |
/analysis/api/area-price | 面积价格相关性 |
/analysis/api/building-year | 建筑年代分布 |
/analysis/api/decoration | 装修分布 |
/analysis/api/orientation | 朝向分布 |
数据模型
HouseListing 模型字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | Integer | 自增主键 |
| house_id | String(50) | 房源ID |
| district | String(50) | 区域(拼音) |
| community | String(100) | 小区名称 |
| house_type | String(50) | 户型 |
| area | Numeric(10,2) | 面积(平米) |
| orientation | String(50) | 朝向 |
| decoration | String(50) | 装修情况 |
| floor_info | String(100) | 楼层信息 |
| building_type | String(50) | 建筑类型 |
| build_year | String(20) | 建筑年代 |
| total_price | String(50) | 总价(万元) |
| unit_price | String(50) | 单价(元/平米) |
| crawl_time | DateTime | 爬取时间 |