fix: 修复获取数据日期

This commit is contained in:
李岩岩 2026-04-07 16:21:19 +08:00
parent f6fceee2b1
commit f40900af15
22 changed files with 607 additions and 589 deletions

4
.env
View File

@ -1,2 +1,2 @@
BASE_DIR=/Users/liyanyan/study/house-data-collect
PORT=8888
BASE_DIR=/app/houseDream
PORT=8080

159
data/2026-03-18.json Normal file
View File

@ -0,0 +1,159 @@
{
"date": "2026-03-19",
"timestamp": "2026-03-19T10:00:19.723Z",
"source": "http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749",
"data": {
"spfsjtj": {
"kspf": {
"kspf_total_units": "88182",
"kspf_total_area": "7434268.3100",
"kspf_residential_units": "38223",
"kspf_residential_area": "2020",
"kspf_commercial_units": "214",
"kspf_office_units": "533",
"kspf_parking_units": "39765"
},
"ysxk": {
"ysxk_license_count": "8",
"ysxk_total_area": "314659.9000",
"ysxk_residential_units": "38223",
"ysxk_residential_area": "2020",
"ysxk_commercial_units": "214",
"ysxk_office_units": "533",
"ysxk_parking_units": "39765"
},
"qfrg": {
"qfrg_total_units": "82",
"qfrg_total_area": "9521.5700",
"qfrg_residential_units": "38223",
"qfrg_residential_area": "2020",
"qfrg_commercial_units": "214",
"qfrg_office_units": "533",
"qfrg_parking_units": "39765"
},
"qfqy": {
"qfqy_total_units": "73",
"qfqy_total_area": "7695.9100",
"qfqy_residential_units": "38223",
"qfqy_residential_area": "2020",
"qfqy_commercial_units": "214",
"qfqy_office_units": "533",
"qfqy_parking_units": "39765"
},
"wyxf": {
"wyxf_total_units": "213714",
"wyxf_total_area": "11396131.1500",
"wyxf_residential_units": "38223",
"wyxf_residential_area": "2020",
"wyxf_commercial_units": "214",
"wyxf_office_units": "533",
"wyxf_parking_units": "39765"
},
"xfxm": {
"xfxm_project_count": "39891",
"xfxm_residential_units": "38223",
"xfxm_residential_area": "2020",
"xfxm_commercial_units": "214",
"xfxm_office_units": "533",
"xfxm_parking_units": "39765",
"xfxm_parking_area": "279369787.5600"
},
"xfrg": {
"xfrg_total_units": "82",
"xfrg_residential_units": "38223",
"xfrg_residential_area": "2020",
"xfrg_commercial_units": "214",
"xfrg_office_units": "533",
"xfrg_parking_units": "39765",
"xfrg_parking_area": "9521.5700"
},
"xfqy": {
"xfqy_total_units": "73",
"xfqy_residential_units": "38223",
"xfqy_residential_area": "2020",
"xfqy_commercial_units": "214",
"xfqy_office_units": "533",
"xfqy_parking_units": "39765",
"xfqy_parking_area": "7695.9100"
}
},
"clfwsqytj": {
"clf_month": {
"clf_month_total_units": "73",
"clf_month_total_area": "7695.9100",
"clf_month_residential_units": "8130",
"clf_month_residential_area": "721746.3800"
},
"clf_day": {
"clf_day_total_units": "73",
"clf_day_total_area": "7695.9100",
"clf_day_residential_units": "8130",
"clf_day_residential_area": "721746.3800"
}
},
"clfwdtj": {
"broker": [
{
"broker_seq": 1,
"broker_name": "北京链家置地房地产经纪有限公司",
"broker_deal_units": 3968,
"broker_refund_units": 67
},
{
"broker_seq": 2,
"broker_name": "北京我爱我家房地产经纪有限公司",
"broker_deal_units": 860,
"broker_refund_units": 27
},
{
"broker_seq": 3,
"broker_name": "北京我爱我家华熙房地产经纪有限公司",
"broker_deal_units": 191,
"broker_refund_units": 4
},
{
"broker_seq": 4,
"broker_name": "北京金色时光房地产经纪有限公司",
"broker_deal_units": 183,
"broker_refund_units": 7
},
{
"broker_seq": 5,
"broker_name": "北京麦田房产经纪有限公司",
"broker_deal_units": 167,
"broker_refund_units": 2
},
{
"broker_seq": 6,
"broker_name": "北京市易合房地产经纪有限责任公司",
"broker_deal_units": 54,
"broker_refund_units": 0
},
{
"broker_seq": 7,
"broker_name": "汇石凯岩(北京)停车管理有限公司",
"broker_deal_units": 45,
"broker_refund_units": 0
},
{
"broker_seq": 8,
"broker_name": "北京金城阜业房地产经纪有限公司",
"broker_deal_units": 40,
"broker_refund_units": 1
},
{
"broker_seq": 9,
"broker_name": "北京市兴商房地产经纪中心有限公司",
"broker_deal_units": 36,
"broker_refund_units": 1
},
{
"broker_seq": 10,
"broker_name": "京安驰(北京)房地产经纪有限公司",
"broker_deal_units": 30,
"broker_refund_units": 3
}
]
}
}
}

View File

@ -1,157 +1,305 @@
{
"date": "2026-03-19",
"timestamp": "2026-03-19T10:00:19.723Z",
"date": "2026-03-20",
"timestamp": 1773998194623,
"source": "http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749",
"data": {
"spfsjtj": {
"kspf": {
"kspf_total_units": "88182",
"kspf_total_area": "7434268.3100",
"kspf_residential_units": "38223",
"kspf_residential_area": "2020",
"ksqf": {
"kspf_total_units": "88034",
"kspf_total_area": "7423053.0600",
"kspf_residential_units": "38160",
"kspf_residential_area": "5321452.7700",
"kspf_commercial_units": "214",
"kspf_commercial_area": "159917.8800",
"kspf_office_units": "533",
"kspf_parking_units": "39765"
"kspf_office_area": "517721.2300",
"kspf_parking_units": "39683",
"kspf_parking_area": "1111569.5900"
},
"ysxk": {
"ysxk_license_count": "8",
"ysxk_total_area": "314659.9000",
"ysxk_residential_units": "38223",
"ysxk_residential_area": "2020",
"ysxk_commercial_units": "214",
"ysxk_office_units": "533",
"ysxk_parking_units": "39765"
"ysxk_residential_units": "2020",
"ysxk_residential_area": "264160.8100",
"ysxk_commercial_units": "0",
"ysxk_commercial_area": "0.0000",
"ysxk_office_units": "0",
"ysxk_office_area": "0.0000",
"ysxk_parking_units": "1384",
"ysxk_parking_area": "38546.2200"
},
"qfrg": {
"qfrg_total_units": "82",
"qfrg_total_area": "9521.5700",
"qfrg_residential_units": "38223",
"qfrg_residential_area": "2020",
"qfrg_commercial_units": "214",
"qfrg_office_units": "533",
"qfrg_parking_units": "39765"
"qfrg_total_units": "85",
"qfrg_total_area": "10122.0000",
"qfrg_residential_units": "83",
"qfrg_residential_area": "10055.8700",
"qfrg_commercial_units": "0",
"qfrg_commercial_area": "0.0000",
"qfrg_office_units": "0",
"qfrg_office_area": "0.0000",
"qfrg_parking_units": "1",
"qfrg_parking_area": "33.8500"
},
"qfqy": {
"qfqy_total_units": "73",
"qfqy_total_area": "7695.9100",
"qfqy_residential_units": "38223",
"qfqy_residential_area": "2020",
"qfqy_commercial_units": "214",
"qfqy_office_units": "533",
"qfqy_parking_units": "39765"
"qfqy_total_units": "159",
"qfqy_total_area": "12186.3400",
"qfqy_residential_units": "70",
"qfqy_residential_area": "8725.2800",
"qfqy_commercial_units": "0",
"qfqy_commercial_area": "0.0000",
"qfqy_office_units": "0",
"qfqy_office_area": "0.0000",
"qfqy_parking_units": "86",
"qfqy_parking_area": "3340.8800"
},
"wyxf": {
"wyxf_total_units": "213714",
"wyxf_total_area": "11396131.1500",
"wyxf_residential_units": "38223",
"wyxf_residential_area": "2020",
"wyxf_commercial_units": "214",
"wyxf_office_units": "533",
"wyxf_parking_units": "39765"
"wyxf_total_units": "214061",
"wyxf_total_area": "11463428.8300",
"wyxf_residential_units": "30104",
"wyxf_residential_area": "3434275.6000",
"wyxf_commercial_units": "1739",
"wyxf_commercial_area": "798046.9800",
"wyxf_office_units": "4427",
"wyxf_office_area": "1544716.4200",
"wyxf_parking_units": "124541",
"wyxf_parking_area": "4159255.5300"
},
"xfxm": {
"xfxm_project_count": "39891",
"xfxm_residential_units": "38223",
"xfxm_residential_area": "2020",
"xfxm_commercial_units": "214",
"xfxm_office_units": "533",
"xfxm_parking_units": "39765",
"xfxm_parking_area": "279369787.5600"
"xfxm_project_count": "39902",
"xfxm_total_area": "279449030.4600",
"xfxm_residential_units": "937508",
"xfxm_residential_area": "116806207.2800",
"xfxm_commercial_units": "96927",
"xfxm_commercial_area": "23085347.5300",
"xfxm_office_units": "134740",
"xfxm_office_area": "25167845.3100",
"xfxm_parking_units": "826833",
"xfxm_parking_area": "31551000.9200"
},
"xfrg": {
"xfrg_total_units": "82",
"xfrg_residential_units": "38223",
"xfrg_residential_area": "2020",
"xfrg_commercial_units": "214",
"xfrg_office_units": "533",
"xfrg_parking_units": "39765",
"xfrg_parking_area": "9521.5700"
"xfrg_total_units": "38",
"xfrg_total_area": "4251.7000",
"xfrg_residential_units": "34",
"xfrg_residential_area": "4140.6000",
"xfrg_commercial_units": "0",
"xfrg_commercial_area": "0.0000",
"xfrg_office_units": "0",
"xfrg_office_area": "0.0000",
"xfrg_parking_units": "2",
"xfrg_parking_area": "70.7200"
},
"xfqy": {
"xfqy_total_units": "73",
"xfqy_residential_units": "38223",
"xfqy_residential_area": "2020",
"xfqy_commercial_units": "214",
"xfqy_office_units": "533",
"xfqy_parking_units": "39765",
"xfqy_parking_area": "7695.9100"
"xfqy_total_units": "100",
"xfqy_total_area": "6356.1100",
"xfqy_residential_units": "30",
"xfqy_residential_area": "3942.5900",
"xfqy_commercial_units": "1",
"xfqy_commercial_area": "280.5500",
"xfqy_office_units": "0",
"xfqy_office_area": "0.0000",
"xfqy_parking_units": "44",
"xfqy_parking_area": "1377.8100"
}
},
"clfwsqytj": {
"clf_month": {
"clf_month_total_units": "73",
"clf_month_total_area": "7695.9100",
"clf_month_total_units": "9111",
"clf_month_total_area": "772959.8600",
"clf_month_residential_units": "8130",
"clf_month_residential_area": "721746.3800"
},
"clf_day": {
"clf_day_total_units": "73",
"clf_day_total_area": "7695.9100",
"clf_day_residential_units": "8130",
"clf_day_residential_area": "721746.3800"
"clf_day_total_units": "1014",
"clf_day_total_area": "87806.6200",
"clf_day_residential_units": "916",
"clf_day_residential_area": "79638.2500"
}
},
"clfwdtj": {
"broker": [
{
"broker_seq": 1,
"broker_seq": "1",
"broker_name": "北京链家置地房地产经纪有限公司",
"broker_deal_units": 3968,
"broker_refund_units": 67
"broker_deal_units": "3968",
"broker_refund_units": "67"
},
{
"broker_seq": 2,
"broker_seq": "2",
"broker_name": "北京我爱我家房地产经纪有限公司",
"broker_deal_units": 860,
"broker_refund_units": 27
"broker_deal_units": "860",
"broker_refund_units": "27"
},
{
"broker_seq": 3,
"broker_seq": "3",
"broker_name": "北京我爱我家华熙房地产经纪有限公司",
"broker_deal_units": 191,
"broker_refund_units": 4
"broker_deal_units": "191",
"broker_refund_units": "4"
},
{
"broker_seq": 4,
"broker_seq": "4",
"broker_name": "北京金色时光房地产经纪有限公司",
"broker_deal_units": 183,
"broker_refund_units": 7
"broker_deal_units": "183",
"broker_refund_units": "7"
},
{
"broker_seq": 5,
"broker_seq": "5",
"broker_name": "北京麦田房产经纪有限公司",
"broker_deal_units": 167,
"broker_refund_units": 2
"broker_deal_units": "167",
"broker_refund_units": "2"
},
{
"broker_seq": 6,
"broker_seq": "6",
"broker_name": "北京市易合房地产经纪有限责任公司",
"broker_deal_units": 54,
"broker_refund_units": 0
"broker_deal_units": "54",
"broker_refund_units": "0"
},
{
"broker_seq": 7,
"broker_seq": "7",
"broker_name": "汇石凯岩(北京)停车管理有限公司",
"broker_deal_units": 45,
"broker_refund_units": 0
"broker_deal_units": "45",
"broker_refund_units": "0"
},
{
"broker_seq": 8,
"broker_seq": "8",
"broker_name": "北京金城阜业房地产经纪有限公司",
"broker_deal_units": 40,
"broker_refund_units": 1
"broker_deal_units": "40",
"broker_refund_units": "1"
},
{
"broker_seq": 9,
"broker_seq": "9",
"broker_name": "北京市兴商房地产经纪中心有限公司",
"broker_deal_units": 36,
"broker_refund_units": 1
"broker_deal_units": "36",
"broker_refund_units": "1"
},
{
"broker_seq": 10,
"broker_seq": "10",
"broker_name": "京安驰(北京)房地产经纪有限公司",
"broker_deal_units": 30,
"broker_refund_units": 3
"broker_deal_units": "30",
"broker_refund_units": "3"
}
],
"district": [
{
"district_name": "全 市",
"district_deal_units": "9111.0",
"district_deal_area": "772959.86"
},
{
"district_name": "东 城",
"district_deal_units": "368",
"district_deal_area": "26395.3600"
},
{
"district_name": "西 城",
"district_deal_units": "526",
"district_deal_area": "33057.9300"
},
{
"district_name": "朝 阳",
"district_deal_units": "2150",
"district_deal_area": "190029.8400"
},
{
"district_name": "海 淀",
"district_deal_units": "1026",
"district_deal_area": "81386.1200"
},
{
"district_name": "丰 台",
"district_deal_units": "951",
"district_deal_area": "76383.6700"
},
{
"district_name": "石景山",
"district_deal_units": "276",
"district_deal_area": "20243.8900"
},
{
"district_name": "通 州",
"district_deal_units": "651",
"district_deal_area": "57381.0200"
},
{
"district_name": "房 山",
"district_deal_units": "477",
"district_deal_area": "39740.7200"
},
{
"district_name": "顺 义",
"district_deal_units": "477",
"district_deal_area": "48649.5400"
},
{
"district_name": "门头沟",
"district_deal_units": "295",
"district_deal_area": "21153.3900"
},
{
"district_name": "大 兴",
"district_deal_units": "590",
"district_deal_area": "51463.3600"
},
{
"district_name": "怀 柔",
"district_deal_units": "107",
"district_deal_area": "10798.1600"
},
{
"district_name": "密 云",
"district_deal_units": "196",
"district_deal_area": "19915.1000"
},
{
"district_name": "昌 平",
"district_deal_units": "712",
"district_deal_area": "67716.5300"
},
{
"district_name": "延 庆",
"district_deal_units": "102",
"district_deal_area": "8821.4400"
},
{
"district_name": "平 谷",
"district_deal_units": "108",
"district_deal_area": "10040.0800"
},
{
"district_name": "开发区",
"district_deal_units": "99",
"district_deal_area": "9783.7100"
}
],
"area": [
{
"area_range": "60m2以下",
"area_deal_units": "2828",
"area_deal_percent": "127669.4500"
},
{
"area_range": "6080m2",
"area_deal_units": "2200",
"area_deal_percent": "152566.2600"
},
{
"area_range": "80100m2",
"area_deal_units": "1999",
"area_deal_percent": "177844.6000"
},
{
"area_range": "100120m2",
"area_deal_units": "791",
"area_deal_percent": "86075.4300"
},
{
"area_range": "120140m2",
"area_deal_units": "550",
"area_deal_percent": "71435.1700"
},
{
"area_range": "140m2以上",
"area_deal_units": "743",
"area_deal_percent": "157368.9500"
}
]
}

View File

@ -1,307 +0,0 @@
{
"date": "2026-03-20",
"timestamp": 1773998194623,
"source": "http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749",
"data": {
"spfsjtj": {
"ksqf": {
"kspf_total_units": "88034",
"kspf_total_area": "7423053.0600",
"kspf_residential_units": "38160",
"kspf_residential_area": "5321452.7700",
"kspf_commercial_units": "214",
"kspf_commercial_area": "159917.8800",
"kspf_office_units": "533",
"kspf_office_area": "517721.2300",
"kspf_parking_units": "39683",
"kspf_parking_area": "1111569.5900"
},
"ysxk": {
"ysxk_license_count": "8",
"ysxk_total_area": "314659.9000",
"ysxk_residential_units": "2020",
"ysxk_residential_area": "264160.8100",
"ysxk_commercial_units": "0",
"ysxk_commercial_area": "0.0000",
"ysxk_office_units": "0",
"ysxk_office_area": "0.0000",
"ysxk_parking_units": "1384",
"ysxk_parking_area": "38546.2200"
},
"qfrg": {
"qfrg_total_units": "85",
"qfrg_total_area": "10122.0000",
"qfrg_residential_units": "83",
"qfrg_residential_area": "10055.8700",
"qfrg_commercial_units": "0",
"qfrg_commercial_area": "0.0000",
"qfrg_office_units": "0",
"qfrg_office_area": "0.0000",
"qfrg_parking_units": "1",
"qfrg_parking_area": "33.8500"
},
"qfqy": {
"qfqy_total_units": "159",
"qfqy_total_area": "12186.3400",
"qfqy_residential_units": "70",
"qfqy_residential_area": "8725.2800",
"qfqy_commercial_units": "0",
"qfqy_commercial_area": "0.0000",
"qfqy_office_units": "0",
"qfqy_office_area": "0.0000",
"qfqy_parking_units": "86",
"qfqy_parking_area": "3340.8800"
},
"wyxf": {
"wyxf_total_units": "214061",
"wyxf_total_area": "11463428.8300",
"wyxf_residential_units": "30104",
"wyxf_residential_area": "3434275.6000",
"wyxf_commercial_units": "1739",
"wyxf_commercial_area": "798046.9800",
"wyxf_office_units": "4427",
"wyxf_office_area": "1544716.4200",
"wyxf_parking_units": "124541",
"wyxf_parking_area": "4159255.5300"
},
"xfxm": {
"xfxm_project_count": "39902",
"xfxm_total_area": "279449030.4600",
"xfxm_residential_units": "937508",
"xfxm_residential_area": "116806207.2800",
"xfxm_commercial_units": "96927",
"xfxm_commercial_area": "23085347.5300",
"xfxm_office_units": "134740",
"xfxm_office_area": "25167845.3100",
"xfxm_parking_units": "826833",
"xfxm_parking_area": "31551000.9200"
},
"xfrg": {
"xfrg_total_units": "38",
"xfrg_total_area": "4251.7000",
"xfrg_residential_units": "34",
"xfrg_residential_area": "4140.6000",
"xfrg_commercial_units": "0",
"xfrg_commercial_area": "0.0000",
"xfrg_office_units": "0",
"xfrg_office_area": "0.0000",
"xfrg_parking_units": "2",
"xfrg_parking_area": "70.7200"
},
"xfqy": {
"xfqy_total_units": "100",
"xfqy_total_area": "6356.1100",
"xfqy_residential_units": "30",
"xfqy_residential_area": "3942.5900",
"xfqy_commercial_units": "1",
"xfqy_commercial_area": "280.5500",
"xfqy_office_units": "0",
"xfqy_office_area": "0.0000",
"xfqy_parking_units": "44",
"xfqy_parking_area": "1377.8100"
}
},
"clfwsqytj": {
"clf_month": {
"clf_month_total_units": "9111",
"clf_month_total_area": "772959.8600",
"clf_month_residential_units": "8130",
"clf_month_residential_area": "721746.3800"
},
"clf_day": {
"clf_day_total_units": "1014",
"clf_day_total_area": "87806.6200",
"clf_day_residential_units": "916",
"clf_day_residential_area": "79638.2500"
}
},
"clfwdtj": {
"broker": [
{
"broker_seq": "1",
"broker_name": "北京链家置地房地产经纪有限公司",
"broker_deal_units": "3968",
"broker_refund_units": "67"
},
{
"broker_seq": "2",
"broker_name": "北京我爱我家房地产经纪有限公司",
"broker_deal_units": "860",
"broker_refund_units": "27"
},
{
"broker_seq": "3",
"broker_name": "北京我爱我家华熙房地产经纪有限公司",
"broker_deal_units": "191",
"broker_refund_units": "4"
},
{
"broker_seq": "4",
"broker_name": "北京金色时光房地产经纪有限公司",
"broker_deal_units": "183",
"broker_refund_units": "7"
},
{
"broker_seq": "5",
"broker_name": "北京麦田房产经纪有限公司",
"broker_deal_units": "167",
"broker_refund_units": "2"
},
{
"broker_seq": "6",
"broker_name": "北京市易合房地产经纪有限责任公司",
"broker_deal_units": "54",
"broker_refund_units": "0"
},
{
"broker_seq": "7",
"broker_name": "汇石凯岩(北京)停车管理有限公司",
"broker_deal_units": "45",
"broker_refund_units": "0"
},
{
"broker_seq": "8",
"broker_name": "北京金城阜业房地产经纪有限公司",
"broker_deal_units": "40",
"broker_refund_units": "1"
},
{
"broker_seq": "9",
"broker_name": "北京市兴商房地产经纪中心有限公司",
"broker_deal_units": "36",
"broker_refund_units": "1"
},
{
"broker_seq": "10",
"broker_name": "京安驰(北京)房地产经纪有限公司",
"broker_deal_units": "30",
"broker_refund_units": "3"
}
],
"district": [
{
"district_name": "全 市",
"district_deal_units": "9111.0",
"district_deal_area": "772959.86"
},
{
"district_name": "东 城",
"district_deal_units": "368",
"district_deal_area": "26395.3600"
},
{
"district_name": "西 城",
"district_deal_units": "526",
"district_deal_area": "33057.9300"
},
{
"district_name": "朝 阳",
"district_deal_units": "2150",
"district_deal_area": "190029.8400"
},
{
"district_name": "海 淀",
"district_deal_units": "1026",
"district_deal_area": "81386.1200"
},
{
"district_name": "丰 台",
"district_deal_units": "951",
"district_deal_area": "76383.6700"
},
{
"district_name": "石景山",
"district_deal_units": "276",
"district_deal_area": "20243.8900"
},
{
"district_name": "通 州",
"district_deal_units": "651",
"district_deal_area": "57381.0200"
},
{
"district_name": "房 山",
"district_deal_units": "477",
"district_deal_area": "39740.7200"
},
{
"district_name": "顺 义",
"district_deal_units": "477",
"district_deal_area": "48649.5400"
},
{
"district_name": "门头沟",
"district_deal_units": "295",
"district_deal_area": "21153.3900"
},
{
"district_name": "大 兴",
"district_deal_units": "590",
"district_deal_area": "51463.3600"
},
{
"district_name": "怀 柔",
"district_deal_units": "107",
"district_deal_area": "10798.1600"
},
{
"district_name": "密 云",
"district_deal_units": "196",
"district_deal_area": "19915.1000"
},
{
"district_name": "昌 平",
"district_deal_units": "712",
"district_deal_area": "67716.5300"
},
{
"district_name": "延 庆",
"district_deal_units": "102",
"district_deal_area": "8821.4400"
},
{
"district_name": "平 谷",
"district_deal_units": "108",
"district_deal_area": "10040.0800"
},
{
"district_name": "开发区",
"district_deal_units": "99",
"district_deal_area": "9783.7100"
}
],
"area": [
{
"area_range": "60m2以下",
"area_deal_units": "2828",
"area_deal_percent": "127669.4500"
},
{
"area_range": "6080m2",
"area_deal_units": "2200",
"area_deal_percent": "152566.2600"
},
{
"area_range": "80100m2",
"area_deal_units": "1999",
"area_deal_percent": "177844.6000"
},
{
"area_range": "100120m2",
"area_deal_units": "791",
"area_deal_percent": "86075.4300"
},
{
"area_range": "120140m2",
"area_deal_units": "550",
"area_deal_percent": "71435.1700"
},
{
"area_range": "140m2以上",
"area_deal_units": "743",
"area_deal_percent": "157368.9500"
}
]
}
}
}

View File

@ -1,20 +1,20 @@
{
"date": "2026-04-03",
"timestamp": 1775212025291,
"date": "2026-04-01",
"timestamp": 1775038266689,
"source": "http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749",
"data": {
"spfsjtj": {
"ksqf": {
"kspf_total_units": "80345",
"kspf_total_area": "6996273.6900",
"kspf_residential_units": "37208",
"kspf_residential_area": "5166395.9800",
"kspf_commercial_units": "212",
"kspf_commercial_area": "156893.4400",
"kspf_office_units": "502",
"kspf_office_area": "493647.2500",
"kspf_parking_units": "33805",
"kspf_parking_area": "896549.1900"
"kspf_total_units": "84864",
"kspf_total_area": "7285656.6100",
"kspf_residential_units": "38364",
"kspf_residential_area": "5302089.0400",
"kspf_commercial_units": "216",
"kspf_commercial_area": "160382.6300",
"kspf_office_units": "530",
"kspf_office_area": "515668.8300",
"kspf_parking_units": "37008",
"kspf_parking_area": "1016071.9000"
},
"ysxk": {
"ysxk_license_count": "8",
@ -29,76 +29,76 @@
"ysxk_parking_area": "38546.2200"
},
"qfrg": {
"qfrg_total_units": "281",
"qfrg_total_area": "36336.5400",
"qfrg_residential_units": "280",
"qfrg_residential_area": "36322.7900",
"qfrg_total_units": "200",
"qfrg_total_area": "24313.8900",
"qfrg_residential_units": "196",
"qfrg_residential_area": "24201.0500",
"qfrg_commercial_units": "0",
"qfrg_commercial_area": "0.0000",
"qfrg_office_units": "0",
"qfrg_office_area": "0.0000",
"qfrg_parking_units": "1",
"qfrg_parking_area": "13.7500"
"qfrg_parking_units": "3",
"qfrg_parking_area": "85.9200"
},
"qfqy": {
"qfqy_total_units": "167",
"qfqy_total_area": "16116.8900",
"qfqy_residential_units": "141",
"qfqy_residential_area": "15499.0700",
"qfqy_total_units": "623",
"qfqy_total_area": "39459.3900",
"qfqy_residential_units": "262",
"qfqy_residential_area": "33077.5800",
"qfqy_commercial_units": "0",
"qfqy_commercial_area": "0.0000",
"qfqy_office_units": "0",
"qfqy_office_area": "0.0000",
"qfqy_parking_units": "24",
"qfqy_parking_area": "505.2100"
"qfqy_parking_units": "331",
"qfqy_parking_area": "4606.3400"
},
"wyxf": {
"wyxf_total_units": "213286",
"wyxf_total_area": "11448472.2700",
"wyxf_residential_units": "28197",
"wyxf_residential_area": "3331600.8200",
"wyxf_commercial_units": "1745",
"wyxf_commercial_area": "883799.8500",
"wyxf_total_units": "215281",
"wyxf_total_area": "11647704.7600",
"wyxf_residential_units": "30409",
"wyxf_residential_area": "3535094.6500",
"wyxf_commercial_units": "1749",
"wyxf_commercial_area": "887419.9300",
"wyxf_office_units": "4421",
"wyxf_office_area": "1544345.5200",
"wyxf_parking_units": "125515",
"wyxf_parking_area": "4185111.6500"
"wyxf_parking_units": "125267",
"wyxf_parking_area": "4176024.2400"
},
"xfxm": {
"xfxm_project_count": "39994",
"xfxm_total_area": "280033839.0200",
"xfxm_residential_units": "939137",
"xfxm_residential_area": "117058970.5000",
"xfxm_commercial_units": "96948",
"xfxm_commercial_area": "23175953.6100",
"xfxm_office_units": "134744",
"xfxm_office_area": "25165391.1700",
"xfxm_parking_units": "831653",
"xfxm_parking_area": "31692731.6400"
"xfxm_project_count": "39991",
"xfxm_total_area": "280021433.3800",
"xfxm_residential_units": "939147",
"xfxm_residential_area": "117061203.6200",
"xfxm_commercial_units": "96954",
"xfxm_commercial_area": "23177798.2500",
"xfxm_office_units": "134737",
"xfxm_office_area": "25167504.6100",
"xfxm_parking_units": "831295",
"xfxm_parking_area": "31680313.3700"
},
"xfrg": {
"xfrg_total_units": "44",
"xfrg_total_area": "5222.1600",
"xfrg_residential_units": "40",
"xfrg_residential_area": "5143.6100",
"xfrg_total_units": "60",
"xfrg_total_area": "7344.6900",
"xfrg_residential_units": "53",
"xfrg_residential_area": "7138.1800",
"xfrg_commercial_units": "0",
"xfrg_commercial_area": "0.0000",
"xfrg_office_units": "0",
"xfrg_office_area": "0.0000",
"xfrg_parking_units": "3",
"xfrg_parking_area": "59.0200"
"xfrg_parking_units": "4",
"xfrg_parking_area": "147.0400"
},
"xfqy": {
"xfqy_total_units": "130",
"xfqy_total_area": "10809.6000",
"xfqy_residential_units": "43",
"xfqy_residential_area": "5663.2000",
"xfqy_commercial_units": "3",
"xfqy_commercial_area": "2555.5500",
"xfqy_office_units": "0",
"xfqy_office_area": "0.0000",
"xfqy_parking_units": "64",
"xfqy_parking_area": "2186.4200"
"xfqy_total_units": "528",
"xfqy_total_area": "85229.2000",
"xfqy_residential_units": "140",
"xfqy_residential_area": "15335.2300",
"xfqy_commercial_units": "10",
"xfqy_commercial_area": "1733.9100",
"xfqy_office_units": "24",
"xfqy_office_area": "1295.9500",
"xfqy_parking_units": "309",
"xfqy_parking_area": "12800.5700"
}
},
"clfwsqytj": {
@ -109,10 +109,10 @@
"clf_month_residential_area": "721746.3800"
},
"clf_day": {
"clf_day_total_units": "698",
"clf_day_total_area": "58367.3700",
"clf_day_residential_units": "621",
"clf_day_residential_area": "53321.1500"
"clf_day_total_units": "1491",
"clf_day_total_area": "124348.8300",
"clf_day_residential_units": "1422",
"clf_day_residential_area": "120703.0800"
}
},
"clfwdtj": {

View File

@ -1,20 +1,20 @@
{
"date": "2026-04-01",
"timestamp": 1775038266689,
"date": "2026-04-02",
"timestamp": 1775146177353,
"source": "http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749",
"data": {
"spfsjtj": {
"ksqf": {
"kspf_total_units": "84864",
"kspf_total_area": "7285656.6100",
"kspf_residential_units": "38364",
"kspf_residential_area": "5302089.0400",
"kspf_commercial_units": "216",
"kspf_commercial_area": "160382.6300",
"kspf_office_units": "530",
"kspf_office_area": "515668.8300",
"kspf_parking_units": "37008",
"kspf_parking_area": "1016071.9000"
"kspf_total_units": "81215",
"kspf_total_area": "7083473.2800",
"kspf_residential_units": "37506",
"kspf_residential_area": "5222757.4100",
"kspf_commercial_units": "212",
"kspf_commercial_area": "156893.4400",
"kspf_office_units": "502",
"kspf_office_area": "493647.2500",
"kspf_parking_units": "34304",
"kspf_parking_area": "919809.3800"
},
"ysxk": {
"ysxk_license_count": "8",
@ -29,76 +29,76 @@
"ysxk_parking_area": "38546.2200"
},
"qfrg": {
"qfrg_total_units": "200",
"qfrg_total_area": "24313.8900",
"qfrg_residential_units": "196",
"qfrg_residential_area": "24201.0500",
"qfrg_total_units": "180",
"qfrg_total_area": "19757.3300",
"qfrg_residential_units": "179",
"qfrg_residential_area": "19741.6700",
"qfrg_commercial_units": "0",
"qfrg_commercial_area": "0.0000",
"qfrg_office_units": "0",
"qfrg_office_area": "0.0000",
"qfrg_parking_units": "3",
"qfrg_parking_area": "85.9200"
"qfrg_parking_units": "0",
"qfrg_parking_area": "0.0000"
},
"qfqy": {
"qfqy_total_units": "623",
"qfqy_total_area": "39459.3900",
"qfqy_residential_units": "262",
"qfqy_residential_area": "33077.5800",
"qfqy_total_units": "177",
"qfqy_total_area": "17461.4700",
"qfqy_residential_units": "164",
"qfqy_residential_area": "17259.4500",
"qfqy_commercial_units": "0",
"qfqy_commercial_area": "0.0000",
"qfqy_office_units": "0",
"qfqy_office_area": "0.0000",
"qfqy_parking_units": "331",
"qfqy_parking_area": "4606.3400"
"qfqy_parking_units": "11",
"qfqy_parking_area": "144.8500"
},
"wyxf": {
"wyxf_total_units": "215281",
"wyxf_total_area": "11647704.7600",
"wyxf_residential_units": "30409",
"wyxf_residential_area": "3535094.6500",
"wyxf_commercial_units": "1749",
"wyxf_commercial_area": "887419.9300",
"wyxf_total_units": "213020",
"wyxf_total_area": "11444682.6600",
"wyxf_residential_units": "28232",
"wyxf_residential_area": "3336511.0500",
"wyxf_commercial_units": "1747",
"wyxf_commercial_area": "885773.0000",
"wyxf_office_units": "4421",
"wyxf_office_area": "1544345.5200",
"wyxf_parking_units": "125267",
"wyxf_parking_area": "4176024.2400"
"wyxf_parking_units": "125200",
"wyxf_parking_area": "4174128.6900"
},
"xfxm": {
"xfxm_project_count": "39991",
"xfxm_total_area": "280021433.3800",
"xfxm_residential_units": "939147",
"xfxm_residential_area": "117061203.6200",
"xfxm_residential_units": "939146",
"xfxm_residential_area": "117061190.9900",
"xfxm_commercial_units": "96954",
"xfxm_commercial_area": "23177798.2500",
"xfxm_office_units": "134737",
"xfxm_office_area": "25167504.6100",
"xfxm_parking_units": "831295",
"xfxm_parking_area": "31680313.3700"
"xfxm_office_units": "134752",
"xfxm_office_area": "25171559.5900",
"xfxm_parking_units": "831296",
"xfxm_parking_area": "31680326.0000"
},
"xfrg": {
"xfrg_total_units": "60",
"xfrg_total_area": "7344.6900",
"xfrg_residential_units": "53",
"xfrg_residential_area": "7138.1800",
"xfrg_total_units": "49",
"xfrg_total_area": "5078.7000",
"xfrg_residential_units": "45",
"xfrg_residential_area": "4931.8700",
"xfrg_commercial_units": "0",
"xfrg_commercial_area": "0.0000",
"xfrg_office_units": "0",
"xfrg_office_area": "0.0000",
"xfrg_parking_units": "4",
"xfrg_parking_area": "147.0400"
"xfrg_parking_units": "1",
"xfrg_parking_area": "39.4400"
},
"xfqy": {
"xfqy_total_units": "528",
"xfqy_total_area": "85229.2000",
"xfqy_residential_units": "140",
"xfqy_residential_area": "15335.2300",
"xfqy_commercial_units": "10",
"xfqy_commercial_area": "1733.9100",
"xfqy_office_units": "24",
"xfqy_office_area": "1295.9500",
"xfqy_parking_units": "309",
"xfqy_parking_area": "12800.5700"
"xfqy_total_units": "2326",
"xfqy_total_area": "207574.3500",
"xfqy_residential_units": "2211",
"xfqy_residential_area": "201808.5600",
"xfqy_commercial_units": "2",
"xfqy_commercial_area": "1646.9300",
"xfqy_office_units": "0",
"xfqy_office_area": "0.0000",
"xfqy_parking_units": "86",
"xfqy_parking_area": "2944.4400"
}
},
"clfwsqytj": {
@ -109,10 +109,10 @@
"clf_month_residential_area": "721746.3800"
},
"clf_day": {
"clf_day_total_units": "1491",
"clf_day_total_area": "124348.8300",
"clf_day_residential_units": "1422",
"clf_day_residential_area": "120703.0800"
"clf_day_total_units": "615",
"clf_day_total_area": "54330.0800",
"clf_day_residential_units": "543",
"clf_day_residential_area": "49707.4800"
}
},
"clfwdtj": {

View File

@ -1,20 +1,20 @@
{
"date": "2026-04-02",
"timestamp": 1775146177353,
"date": "2026-04-03",
"timestamp": 1775212025291,
"source": "http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749",
"data": {
"spfsjtj": {
"ksqf": {
"kspf_total_units": "81215",
"kspf_total_area": "7083473.2800",
"kspf_residential_units": "37506",
"kspf_residential_area": "5222757.4100",
"kspf_total_units": "80345",
"kspf_total_area": "6996273.6900",
"kspf_residential_units": "37208",
"kspf_residential_area": "5166395.9800",
"kspf_commercial_units": "212",
"kspf_commercial_area": "156893.4400",
"kspf_office_units": "502",
"kspf_office_area": "493647.2500",
"kspf_parking_units": "34304",
"kspf_parking_area": "919809.3800"
"kspf_parking_units": "33805",
"kspf_parking_area": "896549.1900"
},
"ysxk": {
"ysxk_license_count": "8",
@ -29,76 +29,76 @@
"ysxk_parking_area": "38546.2200"
},
"qfrg": {
"qfrg_total_units": "180",
"qfrg_total_area": "19757.3300",
"qfrg_residential_units": "179",
"qfrg_residential_area": "19741.6700",
"qfrg_total_units": "281",
"qfrg_total_area": "36336.5400",
"qfrg_residential_units": "280",
"qfrg_residential_area": "36322.7900",
"qfrg_commercial_units": "0",
"qfrg_commercial_area": "0.0000",
"qfrg_office_units": "0",
"qfrg_office_area": "0.0000",
"qfrg_parking_units": "0",
"qfrg_parking_area": "0.0000"
"qfrg_parking_units": "1",
"qfrg_parking_area": "13.7500"
},
"qfqy": {
"qfqy_total_units": "177",
"qfqy_total_area": "17461.4700",
"qfqy_residential_units": "164",
"qfqy_residential_area": "17259.4500",
"qfqy_total_units": "167",
"qfqy_total_area": "16116.8900",
"qfqy_residential_units": "141",
"qfqy_residential_area": "15499.0700",
"qfqy_commercial_units": "0",
"qfqy_commercial_area": "0.0000",
"qfqy_office_units": "0",
"qfqy_office_area": "0.0000",
"qfqy_parking_units": "11",
"qfqy_parking_area": "144.8500"
"qfqy_parking_units": "24",
"qfqy_parking_area": "505.2100"
},
"wyxf": {
"wyxf_total_units": "213020",
"wyxf_total_area": "11444682.6600",
"wyxf_residential_units": "28232",
"wyxf_residential_area": "3336511.0500",
"wyxf_commercial_units": "1747",
"wyxf_commercial_area": "885773.0000",
"wyxf_total_units": "213286",
"wyxf_total_area": "11448472.2700",
"wyxf_residential_units": "28197",
"wyxf_residential_area": "3331600.8200",
"wyxf_commercial_units": "1745",
"wyxf_commercial_area": "883799.8500",
"wyxf_office_units": "4421",
"wyxf_office_area": "1544345.5200",
"wyxf_parking_units": "125200",
"wyxf_parking_area": "4174128.6900"
"wyxf_parking_units": "125515",
"wyxf_parking_area": "4185111.6500"
},
"xfxm": {
"xfxm_project_count": "39991",
"xfxm_total_area": "280021433.3800",
"xfxm_residential_units": "939146",
"xfxm_residential_area": "117061190.9900",
"xfxm_commercial_units": "96954",
"xfxm_commercial_area": "23177798.2500",
"xfxm_office_units": "134752",
"xfxm_office_area": "25171559.5900",
"xfxm_parking_units": "831296",
"xfxm_parking_area": "31680326.0000"
"xfxm_project_count": "39994",
"xfxm_total_area": "280033839.0200",
"xfxm_residential_units": "939137",
"xfxm_residential_area": "117058970.5000",
"xfxm_commercial_units": "96948",
"xfxm_commercial_area": "23175953.6100",
"xfxm_office_units": "134744",
"xfxm_office_area": "25165391.1700",
"xfxm_parking_units": "831653",
"xfxm_parking_area": "31692731.6400"
},
"xfrg": {
"xfrg_total_units": "49",
"xfrg_total_area": "5078.7000",
"xfrg_residential_units": "45",
"xfrg_residential_area": "4931.8700",
"xfrg_total_units": "44",
"xfrg_total_area": "5222.1600",
"xfrg_residential_units": "40",
"xfrg_residential_area": "5143.6100",
"xfrg_commercial_units": "0",
"xfrg_commercial_area": "0.0000",
"xfrg_office_units": "0",
"xfrg_office_area": "0.0000",
"xfrg_parking_units": "1",
"xfrg_parking_area": "39.4400"
"xfrg_parking_units": "3",
"xfrg_parking_area": "59.0200"
},
"xfqy": {
"xfqy_total_units": "2326",
"xfqy_total_area": "207574.3500",
"xfqy_residential_units": "2211",
"xfqy_residential_area": "201808.5600",
"xfqy_commercial_units": "2",
"xfqy_commercial_area": "1646.9300",
"xfqy_total_units": "130",
"xfqy_total_area": "10809.6000",
"xfqy_residential_units": "43",
"xfqy_residential_area": "5663.2000",
"xfqy_commercial_units": "3",
"xfqy_commercial_area": "2555.5500",
"xfqy_office_units": "0",
"xfqy_office_area": "0.0000",
"xfqy_parking_units": "86",
"xfqy_parking_area": "2944.4400"
"xfqy_parking_units": "64",
"xfqy_parking_area": "2186.4200"
}
},
"clfwsqytj": {
@ -109,10 +109,10 @@
"clf_month_residential_area": "721746.3800"
},
"clf_day": {
"clf_day_total_units": "615",
"clf_day_total_area": "54330.0800",
"clf_day_residential_units": "543",
"clf_day_residential_area": "49707.4800"
"clf_day_total_units": "698",
"clf_day_total_area": "58367.3700",
"clf_day_residential_units": "621",
"clf_day_residential_area": "53321.1500"
}
},
"clfwdtj": {

BIN
pic/2026-03-18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 376 KiB

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 KiB

View File

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 374 KiB

View File

Before

Width:  |  Height:  |  Size: 375 KiB

After

Width:  |  Height:  |  Size: 375 KiB

BIN
pic/2026-03-31.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 KiB

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 KiB

View File

Before

Width:  |  Height:  |  Size: 416 KiB

After

Width:  |  Height:  |  Size: 416 KiB

View File

@ -14,22 +14,31 @@ const DATA_DIR = path.join(BASE_DIR, 'data');
const TARGET_URL = 'http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749';
// 获取当前日期
function getToday() {
return new Date().toISOString().split('T')[0];
function formatDate(date) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
}
// 口径调整:当天执行时,落地前一天的数据
function getDataDate() {
const date = new Date();
date.setDate(date.getDate() - 1);
return formatDate(date);
}
// 主函数
async function main() {
const today = getToday();
const dataDate = getDataDate();
console.log('==========================================');
console.log(`开始爬取: ${today}`);
console.log(`开始爬取(落地日期): ${dataDate}`);
console.log(`目标URL: ${TARGET_URL}`);
console.log('==========================================\n');
const picPath = path.join(PIC_DIR, `${today}.png`);
const dataPath = path.join(DATA_DIR, `${today}.json`);
const picPath = path.join(PIC_DIR, `${dataDate}.png`);
const dataPath = path.join(DATA_DIR, `${dataDate}.json`);
// 确保输出目录存在
if (!fs.existsSync(PIC_DIR)) {
@ -89,7 +98,7 @@ async function main() {
console.log(' ✓ 数据已提取');
const content = JSON.stringify({
date: today,
date: dataDate,
timestamp: Date.now(),
source: TARGET_URL,
data: JSON.parse(data)
@ -107,7 +116,7 @@ async function main() {
}
console.log('\n==========================================');
console.log(`爬取完成: ${today}`);
console.log(`爬取完成(落地日期): ${dataDate}`);
console.log(`截图文件: ${picPath}`);
console.log(`数据文件: ${dataPath}`);
console.log('==========================================');

View File

@ -11,9 +11,18 @@ const PIC_DIR = path.join(BASE_DIR, 'pic');
const TARGET_URL = 'http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=307749';
// 获取当前日期
function getToday() {
return new Date().toISOString().split('T')[0];
function formatDate(date) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
}
// 口径调整:当天执行时,落地图按前一天日期命名
function getDataDate() {
const date = new Date();
date.setDate(date.getDate() - 1);
return formatDate(date);
}
async function screenshot(url, outputPath) {
@ -71,4 +80,4 @@ async function screenshot(url, outputPath) {
}
// 主程序
screenshot(TARGET_URL, path.join(PIC_DIR, `${getToday()}.png`));
screenshot(TARGET_URL, path.join(PIC_DIR, `${getDataDate()}.png`));