diff --git a/.env b/.env index 15b7127..cadad16 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ -BASE_DIR=/Users/liyanyan/study/house-data-collect -PORT=8888 \ No newline at end of file +BASE_DIR=/app/houseDream +PORT=8080 \ No newline at end of file diff --git a/data/2026-03-18.json b/data/2026-03-18.json new file mode 100644 index 0000000..aecaffe --- /dev/null +++ b/data/2026-03-18.json @@ -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 + } + ] + } + } +} \ No newline at end of file diff --git a/data/2026-03-19.json b/data/2026-03-19.json index aecaffe..dc3f127 100644 --- a/data/2026-03-19.json +++ b/data/2026-03-19.json @@ -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": "60~80m2", + "area_deal_units": "2200", + "area_deal_percent": "152566.2600" + }, + { + "area_range": "80~100m2", + "area_deal_units": "1999", + "area_deal_percent": "177844.6000" + }, + { + "area_range": "100~120m2", + "area_deal_units": "791", + "area_deal_percent": "86075.4300" + }, + { + "area_range": "120~140m2", + "area_deal_units": "550", + "area_deal_percent": "71435.1700" + }, + { + "area_range": "140m2以上", + "area_deal_units": "743", + "area_deal_percent": "157368.9500" } ] } diff --git a/data/2026-03-20.json b/data/2026-03-20.json deleted file mode 100644 index dc3f127..0000000 --- a/data/2026-03-20.json +++ /dev/null @@ -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": "60~80m2", - "area_deal_units": "2200", - "area_deal_percent": "152566.2600" - }, - { - "area_range": "80~100m2", - "area_deal_units": "1999", - "area_deal_percent": "177844.6000" - }, - { - "area_range": "100~120m2", - "area_deal_units": "791", - "area_deal_percent": "86075.4300" - }, - { - "area_range": "120~140m2", - "area_deal_units": "550", - "area_deal_percent": "71435.1700" - }, - { - "area_range": "140m2以上", - "area_deal_units": "743", - "area_deal_percent": "157368.9500" - } - ] - } - } -} \ No newline at end of file diff --git a/data/2026-03-23.json b/data/2026-03-22.json similarity index 100% rename from data/2026-03-23.json rename to data/2026-03-22.json diff --git a/data/2026-03-30.json b/data/2026-03-29.json similarity index 100% rename from data/2026-03-30.json rename to data/2026-03-29.json diff --git a/data/2026-04-03.json b/data/2026-03-31.json similarity index 73% rename from data/2026-04-03.json rename to data/2026-03-31.json index 60dffef..c87d5d9 100644 --- a/data/2026-04-03.json +++ b/data/2026-03-31.json @@ -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": { diff --git a/data/2026-04-01.json b/data/2026-04-01.json index c87d5d9..29f940e 100644 --- a/data/2026-04-01.json +++ b/data/2026-04-01.json @@ -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": { diff --git a/data/2026-04-02.json b/data/2026-04-02.json index 29f940e..60dffef 100644 --- a/data/2026-04-02.json +++ b/data/2026-04-02.json @@ -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": { diff --git a/data/2026-04-07.json b/data/2026-04-06.json similarity index 100% rename from data/2026-04-07.json rename to data/2026-04-06.json diff --git a/pic/2026-03-18.png b/pic/2026-03-18.png new file mode 100644 index 0000000..3f57883 Binary files /dev/null and b/pic/2026-03-18.png differ diff --git a/pic/2026-03-19.png b/pic/2026-03-19.png index 3f57883..b8e25d8 100644 Binary files a/pic/2026-03-19.png and b/pic/2026-03-19.png differ diff --git a/pic/2026-03-20.png b/pic/2026-03-20.png deleted file mode 100644 index b8e25d8..0000000 Binary files a/pic/2026-03-20.png and /dev/null differ diff --git a/pic/2026-03-23.png b/pic/2026-03-22.png similarity index 100% rename from pic/2026-03-23.png rename to pic/2026-03-22.png diff --git a/pic/2026-03-30.png b/pic/2026-03-29.png similarity index 100% rename from pic/2026-03-30.png rename to pic/2026-03-29.png diff --git a/pic/2026-03-31.png b/pic/2026-03-31.png new file mode 100644 index 0000000..eaef986 Binary files /dev/null and b/pic/2026-03-31.png differ diff --git a/pic/2026-04-01.png b/pic/2026-04-01.png index eaef986..efc8d48 100644 Binary files a/pic/2026-04-01.png and b/pic/2026-04-01.png differ diff --git a/pic/2026-04-02.png b/pic/2026-04-02.png index efc8d48..ce9f88c 100644 Binary files a/pic/2026-04-02.png and b/pic/2026-04-02.png differ diff --git a/pic/2026-04-03.png b/pic/2026-04-03.png deleted file mode 100644 index ce9f88c..0000000 Binary files a/pic/2026-04-03.png and /dev/null differ diff --git a/pic/2026-04-07.png b/pic/2026-04-06.png similarity index 100% rename from pic/2026-04-07.png rename to pic/2026-04-06.png diff --git a/scripts/daily.js b/scripts/daily.js index 461a88d..df9ea58 100644 --- a/scripts/daily.js +++ b/scripts/daily.js @@ -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('=========================================='); diff --git a/scripts/screenshot.js b/scripts/screenshot.js index a56e72f..cc7acf0 100644 --- a/scripts/screenshot.js +++ b/scripts/screenshot.js @@ -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`));