Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6ffa0a4d8 | ||
|
|
c64c0b0b70 | ||
|
|
e332d346f6 | ||
|
|
cf92ce902c | ||
|
|
a77274a47f |
@@ -0,0 +1,390 @@
|
||||
# 政策雷达分析报告 — 2026-09-10
|
||||
|
||||
> 分析范围:2026年9月8日—9月10日(第八批新职业发布+商务部反制美AI蒸馏指控+车企供应商账期管理新规+档案安全事故应急预案+上海医保生育新政+外滩大会AI新经济+服贸会开幕+PBC出席BIS例会+眼健康五年工作方案+渔业十五五规划+放心消费信用激励+防汛应急大考)
|
||||
> 政策抓取数量:10 条
|
||||
> 基线对比:上一期 2026-09-07
|
||||
|
||||
---
|
||||
|
||||
## 0. 本期概况
|
||||
|
||||
本期(9月8日—10日)政策重心从上期的"8家中央金融企业3600亿增资+碳达峰风光28亿千瓦+资本市场房地产新模式+私募基金募集监管+证监会政绩观+AI机器人产业化+重大工程推进+交旅融合消费+平陆运河海图"转向**"第八批新职业发布(11职业+23工种)+商务部反制美AI蒸馏指控+车企供应商账期管理新规(国家首个行业账期文件)+档案安全事故应急预案(首次量化事故等级)+上海医保生育新政(42项围产检查全额报销)+外滩大会AI新经济(300+企业40+具身智能)+服贸会开幕(90国1830家企业)+PBC出席BIS例会(AI与货币政策交流)+眼健康五年工作方案(2030年白内障手术率超4000)+渔业十五五规划+放心消费信用激励(2030年5000个集聚区)+防汛应急大考(24个台风+零伤亡转移)"**。核心信号有十:
|
||||
|
||||
1. **人力资源社会保障部等部门发布第八批新职业,包括11个新职业和23个新工种(9月9日,人社部,P3)**——11个新职业包括数字孪生工程技术人员、具身智能机器人应用技术员、运动数据分析师、微电网管理员等。数字职业占45%、绿色职业占27%。23个新工种含低空物流员、智能体开发员、适老化改造设计师、冰雪雕塑工等。自2019年累计发布八批共121个新职业。下一步人社部将根据经济社会发展新趋势积极挖掘培育新的职业序列。这是上期"AI赋能机器人产业化"的就业制度延伸——从AI产业到AI就业,新质生产力从产业端到人才端。
|
||||
|
||||
2. **商务部就美发布中国AI企业对美蒸馏活动相关网络安全公告答记者问(9月9日,商务部,P3)**——美东时间9月8日,美国家安全局、网络安全与基础设施安全局、联邦调查局联合发布公告,指责中国AI企业对美开展"工业规模"蒸馏。商务部强硬回应:①蒸馏是AI领域各模型间互相学习的通行做法,本质是中性技术手段,包括美企在内的全球模型企业都在用;②美方做法是典型的双重标准——中方开源模型向全球企业开放,而美企报告也披露大量蒸馏中国模型;③美方做法是"以打击蒸馏为名,行产业垄断之实",动用国家力量维护科技霸权和算力垄断;④中美两国元首已同意开展AI政府间对话,但"如美方实施遏压行动,中方必将坚决反制"。这是上期"AI机器人产业化"的外交延伸——AI从国内产业化到国际博弈,蒸馏技术争议成为中美AI竞争焦点。
|
||||
|
||||
3. **工业和信息化部办公厅、市场监管总局办公厅发布《关于推动汽车企业规范供应商账款支付 优化账期管理的通知》(9月9日发布,9月10日人民日报报道,工信部+市场监管总局,P3)**——国家层面首个面向行业领域的账期管理文件。核心要求:①规范账期起算——从供应商交付并验收合格之日起计算;②规范验收——生产性物料3个工作日内验收,功能性零部件5个工作日内;③规范支付方式——鼓励现金支付,不强迫接受商业承兑汇票等非现金方式;④中小企业特别保护——鼓励30天内完成中小企业供应商货款支付,最长不超过60天,鼓励全部采用现金支付。2025年6月17家重点车企曾承诺"支付账期不超过60天"。这是"十五五"产业治理从宏观规划到微观规则的深化——从产业政策到供应链公平竞争制度。
|
||||
|
||||
4. **国家档案局首次制定国家层面部门预案《档案安全事故应急预案》(9月10日,国家档案局,P3)**——首次对档案安全事故等级标准实现量化,根据不同价值档案损毁、灭失数量的不同,将事故分为特别重大、重大、较大和一般四级。创新提出按馆(室)藏档案损毁灭失比例确定等级的方法,以及按损毁档案珍贵程度、内容重要性和社会影响判定等级的方法。特别重大事故由国家档案局组织调查,重大事故由省级档案主管部门组织调查。这是"十五五"安全底座从能源/电力到档案的延伸——安全法治化从生产安全到信息/档案安全。
|
||||
|
||||
5. **上海医保生育新政:42项围产检查费用纳入医保全额支付+分娩住院合规费用全额报销(9月9日,上海市医疗保障局,P4)**——10月1日起实施。42项围产检查"服务包"覆盖血尿常规、B超、糖耐量测试、胎心监护、产后42天复查等全孕期基础项目,职工医保和居民医保待遇完全一样,个人无自付。旧政策花8000元只能报4500元,新政策取消报销封顶。分娩住院当次所有医保范围内费用(含无痛分娩、剖宫产等)全部由生育保险支付,个人无自付。镇痛分娩率95%以上,分娩费用约1万元、剖宫产约1.2万元。这是分配政策在地方层面的创新落地——从生育补贴到生育医保全覆盖,分配政策从现金补贴到服务保障。
|
||||
|
||||
6. **2026外滩大会聚焦"共创AI新经济",300+科技企业参展、40+具身智能企业亮相(9月9日,新华社,P4)**——9月9日至12日在上海举行。1.5万平方米主题科技展,吸引全球300+家科技企业参展。呈现30余个智能体应用,展示如何融入工作、生活、产业场景。40余家具身智能企业在药房、工业制造、物流分拣、巡检、康养等真实场景展示实际应用能力。这是上期"AI机器人产业化(全链路+21场景+8秒64)"的产业会展延伸——从央视报道到产业大会,AI新经济从技术展示到商业落地。
|
||||
|
||||
7. **2026年中国国际服务贸易交易会(服贸会)开幕(9月10日,北京市,P4)**——9月9日在北京首钢园开幕。90个国家、地区和国际组织设展参会,1830多家企业线下参展。本届服贸会聚焦新技术新成果集中亮相。这是"扩大内需+高水平对外开放"的会展平台——从商品贸易(上期17.6%出口增速)到服务贸易,开放从货物到服务。
|
||||
|
||||
8. **中国人民银行副行长宣昌能出席国际清算银行(BIS)行长例会(9月9日,中国人民银行,P3)**——9月6日至7日在瑞士巴塞尔举行。议题包括:全球经济金融形势、央行如何应对供给冲击、人工智能技术快速迭代对货币政策的挑战、多变外部环境对货币政策的挑战、央行政策沟通等。宣昌能副行长会见部分与会央行行长交换意见。这是上期"央行政绩观(适度宽松货币政策)"的国际延伸——从国内货币政策基调到国际央行交流,AI技术迭代首次进入BIS行长例会议题。
|
||||
|
||||
9. **国家卫生健康委、国家中医药局、国家疾控局联合印发《加快提供优质高效眼健康服务工作方案(2026-2030年)》(9月8日,卫健委+中医药局+疾控局,P3)**——到2030年:0至6岁儿童、中小学生屈光筛查率稳步提高,全国百万人口白内障手术率超过4000,95%以上县域可独立开展常见眼病诊疗,各县域均可提供白内障手术服务。聚焦重点人群和重点眼病,完善防筛诊治康全链条服务,健全覆盖全生命周期的眼健康服务体系。这是"十五五"分配政策从宏观规划到专科健康落地——从国民健康十五五规划到眼健康专项方案。
|
||||
|
||||
10. **市场监管总局发布《关于全面开展放心消费单元和集聚区培育的通知》+放心消费信用激励体系(9月8日,市场监管总局,P3)**——计划到2030年全国放心消费集聚区达5000个以上,"放心消费在中国"品牌基本形成。核心制度:①放心消费单元——超市/餐馆/直播间/工厂直营店,从合规承诺起步逐步扩展;②放心消费集聚区——商圈/市场/景区/街区系统性迭代升级;③信用激励——纳入信用联合激励机制,降低检查比例频次;④金融支持——增加信用额度、降低利率、减免费用;⑤特色险种——放心消费责任险、无理由退货责任险;⑥培育系统即将上线——自动赋码赋标,零负担无感操作。这是上期"交旅融合消费新场景(20亿消费拉动)"的消费制度延伸——从消费场景创新到消费信用制度。
|
||||
|
||||
上期(09-07)报告判定"十五五金融资本补充与能源转型量化期",本期判断为**"十五五产业治理与民生保障细则落地期·新职业发布+AI国际博弈+车企账期新规+档案安全预案+生育医保新政+外滩AI大会+服贸会开幕+BIS央行交流+眼健康方案+渔业规划+放心消费信用激励+防汛应急大考"**。
|
||||
|
||||
---
|
||||
|
||||
## 1. 政策清单
|
||||
|
||||
| # | 政策名称 | 发布机构 | 日期 | 优先级 | 原文链接 |
|
||||
|---|----------|----------|------|--------|----------|
|
||||
| 1 | 第八批新职业发布(11个新职业+23个新工种) | 人力资源社会保障部 | 2026-09-09 | P3 | [央视网](https://news.cctv.com/2026/09/09/ARTIoYKfSe4jrRPma0vlhX8G260909.shtml) |
|
||||
| 2 | 商务部就美发布中国AI企业对美蒸馏活动相关网络安全公告答记者问 | 商务部 | 2026-09-09 | P3 | [央视网](https://news.cctv.com/2026/09/09/ARTIKNctkycgrPrj32hNf8Eh260909.shtml) |
|
||||
| 3 | 《关于推动汽车企业规范供应商账款支付 优化账期管理的通知》 | 工业和信息化部办公厅、市场监管总局办公厅 | 2026-09-09 | P3 | [人民日报](https://paper.people.com.cn/rmrb/pc/content/202609/10/content_30180193.html) |
|
||||
| 4 | 《档案安全事故应急预案》首次制定 | 国家档案局 | 2026-09-10 | P3 | [央视网](https://news.cctv.com/2026/09/10/ARTIqZmE5CzqM9AenMiYkBcd260910.shtml) |
|
||||
| 5 | 上海医保生育新政:42项围产检查全额报销+分娩住院全报销 | 上海市医疗保障局 | 2026-09-09 | P4 | [央视网](https://news.cctv.com/2026/09/09/ARTIq7yjtDTpfbzS6Mqj8xs3260909.shtml) |
|
||||
| 6 | 2026外滩大会聚焦"共创AI新经济"(300+企业+40+具身智能) | 新华社 | 2026-09-09 | P4 | [新华社](https://www.news.cn/fortune/20260909/083041f165f841faa42ed3aa167c0ce1/c.html) |
|
||||
| 7 | 2026年中国国际服务贸易交易会(服贸会)开幕(90国1830+企业) | 央视网 | 2026-09-10 | P4 | [央视网](https://news.cctv.com/2026/09/10/ARTI1N0FpD1alLI1i01UEsvo260910.shtml) |
|
||||
| 8 | 中国人民银行副行长宣昌能出席国际清算银行(BIS)行长例会 | 中国人民银行 | 2026-09-09 | P3 | [央行](https://www.pbc.gov.cn/goutongjiaoliu/113456/113469/2026090909080511735/index.html) |
|
||||
| 9 | 《加快提供优质高效眼健康服务工作方案(2026-2030年)》 | 国家卫生健康委、国家中医药局、国家疾控局 | 2026-09-08 | P3 | [央视网](https://news.cctv.com/2026/09/08/ARTIrlYUYDdztkJEPnH3xxIv260908.shtml) |
|
||||
| 10 | 《关于全面开展放心消费单元和集聚区培育的通知》+放心消费信用激励 | 市场监管总局 | 2026-09-08 | P3 | [央视网](https://news.cctv.com/2026/09/08/ARTIgxH9jDx6lRFsNJzUPSCr260908.shtml) |
|
||||
|
||||
---
|
||||
|
||||
## 2. 四步法逐条解读
|
||||
|
||||
### 政策 1: 第八批新职业发布(11个新职业+23个新工种)
|
||||
|
||||
**原文摘要:** 9月9日,人力资源社会保障部等部门发布第八批新职业,包括11个新职业和23个新工种。11个新职业包括数字孪生工程技术人员、具身智能机器人应用技术员、运动数据分析师、微电网管理员等。数字职业和绿色职业分别占到了45%和27%。23个新工种中,既有服务于企业发展和产业升级的低空物流员、智能体开发员等,也有回应人民群众美好生活需要的适老化改造设计师、冰雪雕塑工等。自2019年以来,我国已累计发布八批共121个新职业。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 根据经济社会发展新趋势、新模式,积极挖掘、培育新的职业序列,开发新的就业增长点,不断扩大就业容量
|
||||
- 具体措施: ①发布11个新职业——数字孪生工程技术人员、具身智能机器人应用技术员、运动数据分析师、微电网管理员等;②发布23个新工种——低空物流员、智能体开发员、适老化改造设计师、冰雪雕塑工等;③数字职业占比45%(5个)——数字经济方向;④绿色职业占比27%——新能源/环保方向;⑤累计八批121个新职业——制度化的职业更新机制
|
||||
- 措辞强度: "积极挖掘、培育"(主动要求)+"开发新的就业增长点"(增长要求)+"不断扩大"(扩张要求)——强度级别:中(人社部等部门,P3级,职业分类制度更新)
|
||||
- 量化指标: 11个新职业;23个新工种;45%(数字职业占比);27%(绿色职业占比);121个(累计八批);5个(数字职业数)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①"具身智能机器人应用技术员"——上期(09-07)政策6为AI赋能机器人产业化(全链路+21场景+8秒64),本期首次将"具身智能机器人"纳入国家职业分类,从产业到职业,新质生产力从技术到就业;②"数字孪生工程技术人员"——首次将数字孪生技术设为独立职业;③"运动数据分析师"——首次将运动数据设为独立职业;④"微电网管理员"——首次将微电网管理设为独立职业,与上期碳达峰风光28亿千瓦(分布式新能源3亿千瓦)衔接;⑤"低空物流员"——首次将低空经济物流设为新工种;⑥"智能体开发员"——首次将AI智能体开发设为新工种;⑦"适老化改造设计师"——首次将适老化改造设为新工种
|
||||
- 措辞变化: 上期(09-07)政策6为"AI赋能机器人产业加速攻关"(产业端),本期为"具身智能机器人应用技术员"(就业端)——从产业加速到职业认定,AI/机器人从技术突破到人才体系建设
|
||||
- 是否首次提出: "具身智能机器人应用技术员"(是,首次纳入国家职业分类);"数字孪生工程技术人员"(是);"低空物流员"(是);"智能体开发员"(是);"适老化改造设计师"(是)
|
||||
|
||||
**4.3 政策类型:** 产业政策(数字经济/具身智能/低空经济/新能源职业)+ 分配政策(就业增长点/适老化/冰雪)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-07)政策6(AI赋能机器人产业化——全链路+21场景+8秒64+自主化)直接延续——产业端→就业端,AI机器人从产业化到职业化;②与上期(09-07)政策2(碳达峰风光28亿千瓦——分布式3亿千瓦+微电网)关联——"微电网管理员"是分布式新能源装机目标的职业配套;③与本期政策2(商务部反制美AI蒸馏——AI国际博弈)关联——国内AI新职业+国际AI竞争,AI从产业到就业到外交;④与本期政策6(外滩大会AI新经济——40+具身智能企业)关联——具身智能从企业到职业
|
||||
- 方向一致性: 一致(新质生产力职业化+数字绿色双驱动+就业增长点+低空经济+适老化+人工智能)
|
||||
|
||||
---
|
||||
|
||||
### 政策 2: 商务部就美发布中国AI企业对美蒸馏活动相关网络安全公告答记者问
|
||||
|
||||
**原文摘要:** 美东时间9月8日,美国家安全局、网络安全与基础设施安全局、联邦调查局联合发布公告,指责中国AI企业对美开展"工业规模"蒸馏,获取美前沿模型能力。商务部回应:①蒸馏是AI领域各模型间互相学习的通行做法,本质是中性技术手段,包括美企在内的全球模型企业都在用;②美方做法是典型的双重标准——中方开源模型向包括美企在内的全球企业开放,美企报告也披露大量蒸馏中国模型;③美方做法是"以打击蒸馏为名,行产业垄断之实",动用国家力量维护科技霸权和算力垄断;④"如美方实施遏压行动,中方必将坚决采取措施予以反制"。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 反制美方对中国AI企业蒸馏活动的指控,维护中国AI企业正当权益,推动AI领域平等互利合作
|
||||
- 具体措施: ①定性回应——蒸馏是"通行做法""中性技术手段","于事无凭,于法无据";②双重标准指控——中方开源开放,美企也蒸馏中国模型,美方"既反映焦虑又体现双重标准";③产业垄断定性——"以打击蒸馏为名,行产业垄断之实","动用国家强权机构干涉正常商业活动";④科技霸权定性——"维护美在算力、数据方面的垄断","只能美国独赢,不能人类共赢";⑤对话+反制——两国元首已同意AI政府间对话,"中方愿意以平等互利、合作共赢原则开展建设性讨论",但"如美方实施遏压行动,中方必将坚决采取措施予以反制"
|
||||
- 措辞强度: "坚决反对"(最高反对级别)+"必将坚决采取措施予以反制"(反制承诺)+"科技霸权""算力垄断"(定性指控)+"双重标准"(指控级别)——强度级别:高(商务部新闻发言人答记者问,P3级,中美AI博弈外交回应)
|
||||
- 量化指标: 3个美方机构(NSA+CISA+FBI)联合发布;2项定性(双重标准+产业垄断);1项反制承诺
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①"蒸馏"技术争议——上期(09-07)无AI外交政策,本期首次将AI模型蒸馏技术争议上升为中美外交议题,AI竞争从技术到外交;②"工业规模蒸馏"——首次出现美方对中方AI企业"工业规模蒸馏"的指控表述;③"算力垄断"——首次在商务部回应中将美方行为定性为"算力垄断";④"只能美国独赢,不能人类共赢"——首次使用此表述定性美方AI竞争行为;⑤"必将坚决采取措施予以反制"——首次在AI领域明确反制承诺
|
||||
- 措辞变化: 上期(09-07)政策6为"AI赋能机器人产业化"(国内产业),本期为"商务部反制美AI蒸馏指控"(国际博弈)——AI从国内产业化到国际竞争外交,从产业政策到外交政策
|
||||
- 是否首次提出: "工业规模蒸馏"指控(是,首次出现);"算力垄断"定性(是);"只能美国独赢不能人类共赢"(是);AI领域明确反制承诺(是)
|
||||
|
||||
**4.3 政策类型:** 产业政策(AI/大模型/蒸馏技术)+ 外交政策(中美AI博弈/科技霸权反制)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-07)政策6(AI赋能机器人产业化——全链路+自主化+8秒64)直接关联——国内AI产业化+国际AI博弈,AI从国内到国际双线;②与本期政策1(第八批新职业——智能体开发员+具身智能机器人应用技术员)关联——国内AI职业化+国际AI竞争,AI从人才到外交;③与本期政策6(外滩大会AI新经济——300+企业+30+智能体应用)关联——国内AI产业大会+国际AI外交博弈
|
||||
- 方向一致性: 一致(反制美方AI遏制+维护AI企业权益+推动平等互利对话+坚决反制承诺+开源开放立场)
|
||||
|
||||
---
|
||||
|
||||
### 政策 3: 《关于推动汽车企业规范供应商账款支付 优化账期管理的通知》
|
||||
|
||||
**原文摘要:** 工业和信息化部办公厅、市场监管总局办公厅日前发布通知,是国家层面首个面向行业领域的账期管理文件。核心要求:①规范账期起算——从供应商交付并验收合格之日起计算;②规范验收——生产性物料3个工作日内验收,功能性零部件5个工作日内;③规范支付方式——鼓励现金支付,不强迫接受商业承兑汇票等非现金方式;④中小企业特别保护——鼓励30天内支付中小企业供应商货款,最长不超过60天,鼓励全部采用现金支付。2025年6月17家重点车企曾承诺"支付账期不超过60天"。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 规范汽车企业供应商账款支付,优化账期管理,解决汽车企业付款周期过长这一行业非理性竞争问题
|
||||
- 具体措施: ①账期起算规范——从供应商交付货物/工程/服务并经验收合格之日起计算;②验收行为规范——一般零部件生产性物料3个工作日内验收,功能性零部件5个工作日内;③支付方式规范——鼓励现金支付,不强迫或变相强迫供应商接受商业承兑汇票、供应链票据等非现金支付方式;④中小企业货款账期——鼓励30天内完成中小企业供应商货款支付,最长不超过60天;⑤中小企业支付方式——鼓励全部采用现金支付,合同未明确支付方式的须使用现金,不得以商业汇票或应收账款电子凭证支付;⑥覆盖范围——鼓励大型车企及全资/控股子公司将货物/工程/服务均纳入支持范围,自交付之日起60日内以现金方式支付
|
||||
- 措辞强度: "规范"(6次,规范要求)+"鼓励"(5次,引导要求)+"不得"(1次,禁止要求)——强度级别:中高(工信部+市场监管总局联合,P3级,国家首个行业账期管理文件)
|
||||
- 量化指标: 3个工作日(生产性物料验收);5个工作日(功能性零部件验收);30天(中小企业货款鼓励支付期限);60天(最长支付期限+2025年17家车企承诺);2个部门联合(工信部+市场监管总局)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①"国家层面首个面向行业领域的账期管理文件"——上期(09-07)无供应链账期政策,本期为首个行业账期管理文件,从宏观产业政策到微观供应链规则;②"账期起算时间规范"——首次明确账期从验收合格之日起算,消除验收环节的拖延空间;③"3个工作日+5个工作日验收时限"——首次量化汽车行业验收时限;④"中小企业30天+全部现金支付"——首次明确对中小企业供应商的特别保护措施;⑤"不得以商业汇票或应收账款电子凭证支付"——首次在行业层面禁止对中小企业的非现金支付
|
||||
- 措辞变化: 上期(09-07)政策7为重大工程进度确认(交通/水利/储能),本期为汽车供应链账期管理——从基建推进到产业治理,"十五五"产业政策从投资建设到制度规范
|
||||
- 是否首次提出: 国家首个行业账期管理文件(是);验收3/5个工作日时限(是);中小企业30天+全部现金支付(是);不得以商业汇票支付中小企业(是)
|
||||
|
||||
**4.3 政策类型:** 产业政策(汽车供应链/账款管理)+ 分配政策(中小企业权益保护/供应链公平)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-07)政策8(交旅融合消费新场景——20亿消费拉动)关联——消费端+供应链端,汽车产业从消费到供应全链条规范;②与上期(09-07)政策1(8家金融企业3600亿增资——市场化法治化)关联——金融资本补充+产业供应链规范,金融与产业协同;③与本期政策10(放心消费信用激励——信用联合激励+金融支持)关联——信用激励+账期规范,市场监管从消费到供应链
|
||||
- 方向一致性: 一致(账期规范化+验收时限量化+中小企业特别保护+现金支付鼓励+非现金支付限制)
|
||||
|
||||
---
|
||||
|
||||
### 政策 4: 《档案安全事故应急预案》首次制定
|
||||
|
||||
**原文摘要:** 日前,国家档案局首次制定国家层面部门预案《档案安全事故应急预案》,对档案安全事故处置全过程进行规范。首次对档案安全事故等级标准实现量化,根据不同价值档案损毁、灭失数量的不同,将事故分为特别重大、重大、较大和一般四级。提出按馆(室)藏档案损毁、灭失比例确定等级的方法,以及按损毁档案珍贵程度、内容重要性和社会影响判定等级的方法。特别重大事故由国家档案局组织调查,重大事故由省级档案主管部门组织调查。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 提高档案安全体系效能,有效预防、及时控制和妥善处理各类档案安全事故,最大限度减少损失,确保档案安全
|
||||
- 具体措施: ①事故处置全过程规范——对档案安全事故处置进行全流程制度化;②四级事故量化——特别重大、重大、较大、一般,根据不同价值档案损毁灭失数量分级;③比例确定法——按馆(室)藏档案损毁灭失比例确定等级(压实档案数量少的馆室责任);④珍贵程度判定法——损毁灭失档案极其珍贵、对党和国家具有特殊重大意义的,或造成重大社会影响和严重社会危害的,经评估可不受数量限制认定为特别重大/重大;⑤调查权限——特别重大事故或涉事为省级以上综合档案馆和机关团体企业事业单位的,由国家档案局组织调查;重大事故由省级档案主管部门组织调查
|
||||
- 措辞强度: "首次制定"(创新确认)+"首次量化"(突破确认)+"最大限度"(底线要求)+"不受数量限制"(例外加重)——强度级别:中(国家档案局,P3级,档案安全制度化)
|
||||
- 量化指标: 4级事故(特别重大/重大/较大/一般);3种等级确定方法(数量+比例+珍贵程度);2级调查权限(国家+省级)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①档案安全事故应急预案——上期(09-07)无档案安全政策,本期为首次制定国家层面部门预案,安全底座从生产/能源到档案;②"首次量化事故等级"——首次将档案安全事故等级标准化,从定性管理到量化分级;③"按比例确定等级"——首次提出按馆藏比例而非仅按绝对数量确定等级,解决档案数量少馆室责任虚化问题;④"不受数量限制认定"——首次提出珍贵程度+社会影响可超越数量限制加重认定
|
||||
- 措辞变化: 上期(09-07)政策1为8家金融企业3600亿增资(金融安全资本化),本期为档案安全事故应急预案(档案安全制度化)——安全从金融资本到档案制度,"十五五"安全底座从资本到信息
|
||||
- 是否首次提出: 档案安全事故应急预案(是,首次制定);档案事故四级量化(是);按比例确定等级(是);不受数量限制认定(是)
|
||||
|
||||
**4.3 政策类型:** 制度政策(档案安全/事故分级/调查权限/应急预案)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-06)政策1(电力安全事故应急处置和调查处理条例——电力安全法治化)直接延续——电力安全条例+档案安全预案,安全法治化从电力到档案;②与上期(09-07)政策1(8家金融企业3600亿增资——抵御风险能力)关联——金融安全+档案安全,安全体系从资本到信息;③与本期政策9(眼健康工作方案——全生命周期)关联——眼健康服务体系+档案安全体系,"十五五"制度体系从健康到信息
|
||||
- 方向一致性: 一致(档案安全制度化+事故量化分级+调查权限明确+比例+珍贵程度双重判定)
|
||||
|
||||
---
|
||||
|
||||
### 政策 5: 上海医保生育新政:42项围产检查全额报销+分娩住院全报销
|
||||
|
||||
**原文摘要:** 从10月1日起,上海医保新政落地实施。正常参加上海职工医保(含生育保险)的生育妇女,42项围产检查费用纳入医保全额支付。42项"服务包"覆盖血尿常规、B超、糖耐量测试、胎心监护、产后42天复查等全孕期基础项目。职工医保和居民医保待遇完全一样,个人无自付。旧政策花8000元只能报4500元,新政策取消报销封顶。分娩住院当次所有医保范围内费用(含无痛分娩、产程管理、顺产、剖宫产)全部由生育保险支付,个人无自付。镇痛分娩率95%以上。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 为准妈妈减负,从费用减免到全程覆盖,降低生育经济成本
|
||||
- 具体措施: ①42项围产检查"服务包"——覆盖血尿常规、B超、糖耐量测试、胎心监护、产后42天复查等全孕期基础项目;②全额支付——职工医保和居民医保待遇完全一样,个人无自付;③取消封顶——旧政策花8000元只能报4500元,新政策花多少报多少;④分娩住院全报销——当次住院所有医保范围内费用(含无痛分娩、产程管理、顺产、剖宫产)全部由生育保险支付;⑤异地分娩一致——参保人员异地分娩与上海待遇一致;⑥自愿加做项目——高端/特殊项目仍需按比例承担;⑦新老衔接——10月1日后新建卡直接享受,此前已建卡10月1日后产检也可享受
|
||||
- 措辞强度: "全额支付"(保障要求)+"全额报销"(保障要求)+"个人无自付"(4次,零负担要求)+"取消封顶"(突破要求)——强度级别:中高(上海市医保局,P4级,地方生育保障创新)
|
||||
- 量化指标: 42项(围产检查项目);8000元→4500元→全额(旧政策vs新政策);95%以上(镇痛分娩率);约1万元(分娩费用);约1.2万元(剖宫产费用);10月1日(实施日期)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①42项围产检查全额报销——上期(09-07)无生育/医保政策,本期为上海地方生育医保创新,从生育补贴到服务保障全覆盖;②"取消报销封顶"——首次在上海生育医保中取消报销上限,从封顶制到实报实销;③"分娩住院全报销"——首次将分娩住院所有合规费用纳入全额报销(含无痛分娩+剖宫产);④"职工医保和居民医保待遇完全一样"——首次在生育医保中实现职工与居民同等待遇;⑤"无痛分娩"纳入全额报销——首次将镇痛分娩纳入医保全额支付范围
|
||||
- 措辞变化: 上期(09-07)无生育政策,本期为地方生育医保创新——分配政策从宏观规划到地方落地,生育保障从现金补贴(上上期国民健康十五五)到服务全覆盖
|
||||
- 是否首次提出: 42项围产检查全额报销(是,上海首次);取消报销封顶(是);分娩住院全报销(是);职工与居民同等待遇(是);无痛分娩纳入全额报销(是)
|
||||
|
||||
**4.3 政策类型:** 分配政策(生育保障/医保支付/生育减负)+ 分配政策(居民杠杆/消费预期)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-04)国民健康十五五规划关联——从国民健康规划到生育医保落地,分配政策从规划到实施;②与本期政策9(眼健康工作方案——全生命周期服务体系)关联——眼健康+生育健康,分配政策从专科到生育;③与本期政策10(放心消费信用激励——放心消费在中国)关联——消费保障+生育保障,分配政策从消费到生育
|
||||
- 方向一致性: 一致(围产检查全额+分娩全报销+取消封顶+职工居民同等待遇+无痛分娩覆盖+异地一致+新老衔接)
|
||||
|
||||
---
|
||||
|
||||
### 政策 6: 2026外滩大会聚焦"共创AI新经济"(300+企业+40+具身智能)
|
||||
|
||||
> ⚠️ 本文基于新华社报道整理,完整展览信息见原文链接
|
||||
|
||||
**原文摘要:** 以"共创AI新经济"为主题的"2026 Inclusion·外滩大会"于9月9日至12日在上海举行。1.5万平方米主题科技展,吸引全球300+家科技企业参展。呈现30余个智能体应用,展示如何融入工作、生活、产业场景。40余家具身智能企业在药房、工业制造、物流分拣、巡检、康养等真实场景展示实际应用能力。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 共创AI新经济,推动AI技术从展示到产业场景落地
|
||||
- 具体措施: ①1.5万平方米主题科技展——全球300+家科技企业参展;②30余个智能体应用——展示融入工作/生活/产业场景;③40+具身智能企业——在药房/工业制造/物流分拣/巡检/康养等真实场景展示实际应用能力;④"真本领"展示——从技术展示到干活能力验证
|
||||
- 措辞强度: "共创"(合作要求)+"真本领"(能力要求)——强度级别:低中(新华社报道,P4级,产业会展)
|
||||
- 量化指标: 1.5万平方米(展览面积);300+家(参展企业);30+个(智能体应用);40+家(具身智能企业);4天(9月9-12日);5个场景领域(药房/工业/物流/巡检/康养)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①"共创AI新经济"——上期(09-07)政策6为AI赋能机器人产业化(央视报道),本期为外滩大会AI新经济(产业大会),AI从央视报道到产业会展;②40+具身智能企业——首次量化具身智能企业集中亮相规模;③5个真实场景(药房/工业/物流/巡检/康养)——首次具身智能从比赛场景(上期21项)到商业场景;④"真本领"——首次以"干活真本领"定义具身智能商业落地标准
|
||||
- 措辞变化: 上期(09-07)政策6为"全链路+21场景+8秒64+自主化"(技术能力),本期为"300+企业+40+具身智能+5场景+真本领"(商业落地)——从技术能力到商业验证,AI从产业到经济
|
||||
- 是否首次提出: "共创AI新经济"(是,外滩大会主题);40+具身智能企业规模(是);5个商业场景(是,区别于上期21个比赛场景)
|
||||
|
||||
**4.3 政策类型:** 产业政策(AI/具身智能/智能体/新经济)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-07)政策6(AI赋能机器人——全链路+21场景+8秒64)直接延续——技术展示→商业会展,AI从技术能力到商业落地;②与本期政策1(第八批新职业——具身智能机器人应用技术员)关联——具身智能从职业到产业到会展;③与本期政策2(商务部反制美AI蒸馏——AI国际博弈)关联——国内AI产业大会+国际AI外交博弈
|
||||
- 方向一致性: 一致(AI新经济+具身智能商业落地+智能体应用+真实场景+真本领)
|
||||
|
||||
---
|
||||
|
||||
### 政策 7: 2026年中国国际服务贸易交易会(服贸会)开幕
|
||||
|
||||
> ⚠️ 本文基于央视网简短报道整理,完整内容见原文链接
|
||||
|
||||
**原文摘要:** 9月9日在北京首钢园开幕的2026年中国国际服务贸易交易会。本届服贸会共有90个国家、地区和国际组织设展参会,1830多家企业线下参展。服贸会首日新技术新成果集中亮相。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 促进服务贸易发展,展示新技术新成果,推动高水平对外开放
|
||||
- 具体措施: ①90个国家/地区/国际组织设展参会;②1830+家企业线下参展;③新技术新成果集中亮相
|
||||
- 措辞强度: "集中亮相"(展示要求)——强度级别:低(央视报道,P4级,会展平台)
|
||||
- 量化指标: 90个(国家/地区/国际组织);1830+家(参展企业)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①服贸会——上期(09-07)无服务贸易政策,本期为服贸会开幕,开放从货物贸易到服务贸易;②90国+1830+企业——首次量化本届服贸会规模
|
||||
- 措辞变化: 上期(09-07)政策9为平陆运河海图出版(基建物流),本期为服贸会开幕(服务贸易)——开放从物流基建到服务贸易平台
|
||||
- 是否首次提出: 90国+1830+企业(是,本届服贸会规模)
|
||||
|
||||
**4.3 政策类型:** 产业政策(服务贸易/国际合作/对外开放)+ 分配政策(扩大内需/消费)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-08)"17.6%出口增速+中国智造"(货物贸易)关联——货物贸易+服务贸易,开放双轮驱动;②与本期政策6(外滩大会AI新经济——300+企业)关联——上海AI大会+北京服贸会,产业会展双城并行;③与本期政策10(放心消费——5000个集聚区)关联——消费培育+服务贸易,内需+开放协同
|
||||
- 方向一致性: 一致(服务贸易+高水平开放+新技术展示+国际参与)
|
||||
|
||||
---
|
||||
|
||||
### 政策 8: 中国人民银行副行长宣昌能出席国际清算银行(BIS)行长例会
|
||||
|
||||
**原文摘要:** 2026年9月6日至7日,中国人民银行副行长宣昌能出席国际清算银行(BIS)在瑞士巴塞尔举行的行长例会。议题包括:全球经济金融形势、央行如何应对供给冲击、人工智能技术快速迭代以及多变的外部环境对货币政策的挑战、央行政策沟通等。宣昌能副行长会见部分与会央行行长交换意见。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 参与国际央行交流,就全球经济金融形势和货币政策挑战交换意见
|
||||
- 具体措施: ①出席BIS行长例会——与全球央行行长交流;②议题——全球经济金融形势+供给冲击应对+AI技术快速迭代对货币政策挑战+多变外部环境+央行政策沟通;③双边会见——会见部分与会央行行长交换意见
|
||||
- 措辞强度: "深入交流"(交流要求)——强度级别:低(PBC副行长出席,P3级,国际央行交流)
|
||||
- 量化指标: 2天(9月6-7日);5个议题(经济形势+供给冲击+AI迭代+外部环境+政策沟通)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①"人工智能技术快速迭代对货币政策的挑战"——上期(09-07)无PBC国际交流政策,本期首次将AI技术迭代列入BIS行长例会议题,AI从产业/外交到货币政策;②"多变的外部环境对货币政策的挑战"——首次在BIS层面讨论外部环境对货币政策的挑战;③"央行政策沟通"——首次将央行政策沟通作为BIS例会议题
|
||||
- 措辞变化: 上期(09-06)政策2为央行政绩观(适度宽松货币政策+金融五篇大文章),本期为PBC出席BIS例会(AI+货币政策挑战)——从国内货币政策基调到国际央行交流,AI首次进入货币政策讨论
|
||||
- 是否首次提出: AI技术迭代作为BIS行长例会议题(是,首次明确);多变外部环境对货币政策挑战(是)
|
||||
|
||||
**4.3 政策类型:** 货币政策(国际央行交流/全球经济/政策沟通)+ 产业政策(AI对货币政策挑战)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-06)政策2(央行政绩观——适度宽松货币政策)直接延续——国内基调+国际交流,货币政策从国内到国际;②与本期政策2(商务部反制美AI蒸馏——AI国际博弈)关联——AI从外交到货币政策,AI影响从产业到宏观;③与本期政策1(第八批新职业——智能体开发员+具身智能)关联——AI职业化+AI进入央行议题,AI从就业到货币
|
||||
- 方向一致性: 一致(国际央行交流+全球经济+供给冲击+AI挑战+外部环境+政策沟通)
|
||||
|
||||
---
|
||||
|
||||
### 政策 9: 《加快提供优质高效眼健康服务工作方案(2026-2030年)》
|
||||
|
||||
**原文摘要:** 9月8日,国家卫生健康委、国家中医药局、国家疾控局联合印发方案。要求聚焦重点人群和重点眼病,完善防筛诊治康全链条服务,健全覆盖全生命周期的眼健康服务体系。到2030年:0至6岁儿童、中小学生屈光筛查率稳步提高,全国百万人口白内障手术率超过4000,95%以上县域可独立开展常见眼病诊疗,各县域均可提供白内障手术服务。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 为人民群众提供公平可及、系统连续、优质高效的眼健康服务,健全覆盖全生命周期的眼健康服务体系
|
||||
- 具体措施: ①防筛诊治康全链条服务——从预防到康复全流程;②覆盖全生命周期——从0-6岁儿童到老年白内障;③屈光筛查——0-6岁儿童+中小学生;④白内障手术率——百万人口超过4000;⑤县域能力——95%以上县域可独立开展常见眼病诊疗,各县域均可提供白内障手术;⑥三部门联合——卫健+中医药+疾控
|
||||
- 措辞强度: "加快提供"(加速要求)+"公平可及"(公平要求)+"全链条"(全流程要求)+"全生命周期"(全覆盖要求)——强度级别:中(三部门联合,P3级,专科健康五年方案)
|
||||
- 量化指标: 2030年(目标年);4000+(百万人口白内障手术率);95%+(县域独立诊疗比例);3部门联合;0-6岁+中小学生(重点人群)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①眼健康五年工作方案——上期(09-07)无眼健康政策,本期为首部眼健康五年工作方案,从国民健康十五五规划到专科方案;②"百万人口白内障手术率超过4000"——首次量化白内障手术率目标;③"95%以上县域独立开展常见眼病诊疗"——首次量化县域眼健康服务能力目标;④"防筛诊治康全链条"——首次将眼健康服务定义为全链条服务模式;⑤"全生命周期"——首次将眼健康覆盖定义为全生命周期
|
||||
- 措辞变化: 上期(09-06)政策4为国民健康十五五规划(宏观健康规划),本期为眼健康五年工作方案(专科方案落地)——健康政策从宏观规划到专科方案
|
||||
- 是否首次提出: 眼健康五年工作方案(是,首部);百万人口白内障手术率超4000(是);95%县域独立诊疗(是);防筛诊治康全链条(是)
|
||||
|
||||
**4.3 政策类型:** 分配政策(眼健康服务/全生命周期/县域医疗公平)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-06)政策4(国民健康十五五规划)直接延续——从国民健康规划到眼健康专项方案,健康政策从宏观到专科;②与本期政策5(上海医保生育新政——42项围产检查+全孕期)关联——眼健康+生育健康,分配政策从眼科到产科;③与本期政策4(档案安全事故应急预案——安全体系)关联——档案安全+眼健康,"十五五"制度体系从信息到健康
|
||||
- 方向一致性: 一致(全链条+全生命周期+重点人群+县域能力+量化目标+三部门联合)
|
||||
|
||||
---
|
||||
|
||||
### 政策 10: 《关于全面开展放心消费单元和集聚区培育的通知》+放心消费信用激励
|
||||
|
||||
**原文摘要:** 9月8日,市场监管总局正式发布通知,全面启动放心消费主体培育工作。计划到2030年全国放心消费集聚区达5000个以上,"放心消费在中国"品牌基本形成。核心制度:①放心消费单元——超市/餐馆/直播间/工厂直营店从合规承诺起步;②放心消费集聚区——商圈/市场/景区/街区系统性迭代升级;③信用激励——纳入信用联合激励机制,降低检查比例频次;④金融支持——增加信用额度、降低利率、减免费用;⑤特色险种——放心消费责任险、无理由退货责任险;⑥培育系统即将上线——自动赋码赋标,零负担无感操作。
|
||||
|
||||
**4.1 读原文:**
|
||||
- 政策目标: 从源头解决服务质量不高、纠纷增长过快、消费信心不足等问题,让守信经营者得实惠,从"要我变好"变成"我要变好"
|
||||
- 具体措施: ①放心消费单元——单个经营者(超市/餐馆/直播间/工厂直营店),从合规承诺起步逐步扩展;②放心消费集聚区——商圈/市场/景区/街区消费环境系统性迭代升级;③五放心承诺——安全/质量/价格/服务/维权放心;④集聚区专项承诺——首问负责+在线争议化解+入驻商家管理;⑤信用激励——纳入信用联合激励机制,降低检查比例频次,减少对合规企业干扰;⑥金融支持——增加信用额度+降低利率+减免费用,缓解商家资金压力;⑦特色险种——放心消费责任险+无理由退货责任险,风险分担减轻赔付顾虑;⑧培育系统——即将上线,自动赋码赋标,零负担无感操作;⑨标识发布——"放心消费承诺"标识,线上信息展示平台+线下醒目展示
|
||||
- 措辞强度: "全面开展"(全面要求)+"全面启动"(启动要求)+"稳步提高"(提升要求)——强度级别:中(市场监管总局,P3级,消费信用制度)
|
||||
- 量化指标: 5000个+(2030年放心消费集聚区);5个放心维度(安全/质量/价格/服务/维权);3个激励维度(信用+金融+市场);2种特色险种(消费责任险+退货责任险);2030年(目标年)
|
||||
|
||||
**4.2 找新增(vs 上期 2026-09-07):**
|
||||
- 新增表述: ①放心消费信用激励——上期(09-07)政策8为交旅融合消费新场景(20亿消费拉动),本期为放心消费信用激励制度,从消费场景到消费信用;②"信用+金融+市场"三维激励——首次构建放心消费的正向激励体系;③"放心消费责任险+无理由退货责任险"——首次推出消费领域特色险种;④"自动赋码赋标+零负担无感操作"——首次以零负担方式实现放心消费认证;⑤"降低检查比例频次"——首次将放心消费承诺与检查频次挂钩
|
||||
- 措辞变化: 上期(09-07)政策8为"齐鲁1号旅游列车+20亿消费拉动"(消费场景创新),本期为"放心消费信用激励+5000个集聚区"(消费信用制度)——从消费场景到消费制度,消费政策从场景到信用
|
||||
- 是否首次提出: 放心消费信用激励体系(是);消费领域特色险种(是);零负担无感认证(是);检查频次挂钩放心消费(是)
|
||||
|
||||
**4.3 政策类型:** 分配政策(消费信用/消费保障/商家激励)+ 金融政策(信用额度/利率/特色险种)+ 制度政策(信用联合激励/检查频次)
|
||||
|
||||
**4.4 连续性验证:**
|
||||
- 与前序政策的关系: ①与上期(09-07)政策8(交旅融合消费新场景——20亿消费拉动)直接延续——消费场景+消费信用,消费政策从场景到制度;②与本期政策3(车企账期管理——中小企业保护)关联——供应链公平+消费信用,市场监管从供应链到消费端;③与本期政策7(服贸会——服务贸易+1830+企业)关联——服务贸易+放心消费,开放+内需协同
|
||||
- 方向一致性: 一致(放心消费培育+信用激励+金融支持+特色险种+零负担认证+标识发布+5000个集聚区)
|
||||
|
||||
---
|
||||
|
||||
## 3. 连续性总览
|
||||
|
||||
```
|
||||
[政策2: 商务部反制美AI蒸馏指控(双重标准+算力垄断+必将反制)] (外交·AI)
|
||||
↓ 延续
|
||||
[政策8: PBC出席BIS例会(AI技术迭代+货币政策挑战)] (货币·国际)
|
||||
│ ↗ [AI] 政策1: 具身智能机器人应用技术员(新职业)→ AI从职业到货币
|
||||
↓ 一致
|
||||
[政策1: 第八批新职业(11职业+23工种+数字45%+绿色27%)] (产业·就业)
|
||||
│ ↗ [AI生态] 政策6: 外滩大会AI新经济(300+企业+40+具身智能)→ AI从职业到产业
|
||||
↓ 一致
|
||||
[政策6: 外滩大会AI新经济(300+企业+40+具身智能+5场景+真本领)] (产业·AI)
|
||||
↓ 一致
|
||||
[政策3: 车企账期管理新规(首个行业账期文件+3/5日验收+中小企业30天)] (产业·供应链)
|
||||
│ ↗ [消费] 政策10: 放心消费信用激励(信用+金融+市场三维激励)→ 供应链+消费双端规范
|
||||
↓ 一致
|
||||
[政策10: 放心消费信用激励(5000个集聚区+特色险种+零负担认证)] (消费·信用)
|
||||
│ ↗ [开放] 政策7: 服贸会(90国+1830+企业)→ 消费+服务贸易双轮
|
||||
↓ 一致
|
||||
[政策9: 眼健康五年工作方案(白内障4000+县域95%+全链条)] (分配·健康)
|
||||
│ ↗ [生育] 政策5: 上海医保生育新政(42项围产+分娩全报销)→ 分配政策双线
|
||||
↓ 一致
|
||||
[政策5: 上海医保生育新政(42项围产+取消封顶+无痛分娩覆盖)] (分配·生育)
|
||||
│ ↗ [安全] 政策4: 档案安全事故应急预案(四级量化+比例+珍贵程度)→ 健康+档案双安全
|
||||
↓ 一致
|
||||
[政策4: 档案安全事故应急预案(四级量化+调查权限)] (制度·安全)
|
||||
│ ↗ [电力安全] 上期(09-06)政策1: 电力安全条例修订 → 安全法治化从电力到档案
|
||||
```
|
||||
|
||||
**方向是否恒定:** 是
|
||||
|
||||
**转变信号:** 无方向转变。本期政策延续"十五五"开局政策密集落地大方向,从上期"金融资本补充与能源转型量化"深化为"产业治理与民生保障细则落地"——新职业发布标志新质生产力从产业到就业(人才端);商务部反制美AI蒸馏标志AI从国内产业化到国际博弈(外交端);车企账期管理新规标志产业治理从宏观到微观(供应链端);档案安全预案标志安全底座从能源/电力到档案(制度端);上海生育医保新政标志分配政策从规划到落地(民生端);外滩大会+服贸会标志产业会展从技术到商业(平台端);PBC出席BIS标志AI进入货币政策讨论(宏观端);眼健康方案+放心消费信用激励标志民生保障从规划到细则(服务端),多条线并行推进"十五五"从法规/制度/资本/规模到细则/人才/外交/民生/平台的全面落地。
|
||||
|
||||
**跨赛道关联:**
|
||||
- 政策1(新职业——具身智能机器人应用技术员)←→ 政策6(外滩大会——40+具身智能企业)←→ 政策2(商务部反制——AI国际博弈)同属**AI产业化与博弈链条**
|
||||
- 政策3(车企账期管理——中小企业保护)←→ 政策10(放心消费——信用激励+金融支持)同属**市场监管与信用链条**
|
||||
- 政策5(上海生育医保——42项围产+全报销)←→ 政策9(眼健康方案——全链条+全生命周期)同属**民生健康保障链条**
|
||||
- 政策4(档案安全预案——四级量化)←→ 上期(09-06)政策1(电力安全条例——应急处置)同属**安全法治化链条**
|
||||
- 政策8(PBC出席BIS——AI+货币政策挑战)←→ 政策2(商务部反制——AI外交博弈)同属**AI影响外溢链条**
|
||||
|
||||
---
|
||||
|
||||
## 4. 投资方向判断
|
||||
|
||||
### 大方向(市场整体)
|
||||
- 判断: 本期政策延续"十五五"开局政策密集落地大方向,出现从"金融资本补充与能源转型量化"向"产业治理与民生保障细则落地"的深化推进。第八批新职业标志新质生产力从产业到就业(11职业+23工种+数字45%+具身智能机器人应用技术员);商务部反制美AI蒸馏标志AI从国内产业化到国际博弈(双重标准+算力垄断+必将反制);车企账期管理新规标志产业治理从宏观到微观(首个行业账期文件+3/5日验收+中小企业30天+现金支付);档案安全预案标志安全底座从电力到档案(四级量化+比例+珍贵程度);上海生育医保新政标志分配政策从规划到落地(42项围产全报销+取消封顶+无痛分娩覆盖);外滩大会+服贸会标志产业会展从技术到商业(300+企业AI+90国服务贸易);PBC出席BIS标志AI进入货币政策讨论(AI技术迭代+外部环境+政策沟通);眼健康方案标志民生健康从规划到专科(白内障4000+县域95%+全链条);放心消费信用激励标志消费从场景到制度(5000个集聚区+信用+金融+特色险种)。整体判断:政策从上期"金融资本补充与能源转型量化"深化为"产业治理与民生保障细则落地",新职业+AI博弈+车企账期+档案安全+生育医保+消费信用六项标志"十五五"从法规/制度/资本/规模到细则/人才/外交/民生/信用的全面落地。
|
||||
- 依据: 政策1中"11个新职业""23个新工种""数字职业45%""绿色职业27%""具身智能机器人应用技术员""低空物流员""智能体开发员""121个累计"(新质生产力就业化);政策2中"工业规模蒸馏""算力垄断""双重标准""必将坚决采取措施予以反制""只能美国独赢不能人类共赢"(AI外交博弈);政策3中"首个行业账期文件""3个工作日""5个工作日""30天""60天""不得以商业汇票支付"(供应链规范);政策4中"首次量化""四级""按比例""不受数量限制"(档案安全制度化);政策5中"42项""全额支付""个人无自付""取消封顶""无痛分娩""95%镇痛分娩率"(生育医保创新);政策6中"300+家""40+具身智能""30+智能体应用""5个场景""真本领"(AI商业落地);政策7中"90个""1830+家"(服务贸易);政策8中"AI技术快速迭代""货币政策挑战""政策沟通"(AI进入央行议题);政策9中"4000""95%""全链条""全生命周期"(眼健康专科方案);政策10中"5000个""信用+金融+市场""特色险种""零负担"(消费信用制度)
|
||||
|
||||
### 中方向(赛道选择)
|
||||
|
||||
**看好的赛道:**
|
||||
1. **AI/具身智能/智能体——新职业+产业大会+国际博弈三重驱动** — 依据: 政策1中"具身智能机器人应用技术员""智能体开发员""数字孪生工程技术人员"(职业认定);政策6中"300+企业""40+具身智能""30+智能体应用""5个真实场景""真本领"(商业落地);政策2中"蒸馏""算力垄断""必将反制""开源开放"(国际博弈倒逼自主化)——AI从职业到产业到外交,具身智能/智能体开发/AI模型自主化需求
|
||||
2. **汽车供应链管理/中小企业服务商——账期管理新规驱动** — 依据: 政策3中"首个行业账期文件""3个工作日验收""5个工作日验收""30天中小企业""全部现金支付""不得以商业汇票支付"——供应链合规咨询/验收标准化/中小企业账款管理/供应链金融需求
|
||||
3. **消费信用/消费保险/放心消费——信用激励制度驱动** — 依据: 政策10中"5000个集聚区""信用联合激励""增加信用额度+降低利率""放心消费责任险+无理由退货责任险""零负担无感操作"——消费信用服务/消费保险产品/放心消费认证服务需求
|
||||
4. **眼健康/白内障手术/县域医疗——五年方案驱动** — 依据: 政策9中"百万人口白内障手术率超4000""95%县域独立诊疗""防筛诊治康全链条""全生命周期"——白内障手术设备/眼科诊疗设备/县域眼科服务/眼健康筛查需求
|
||||
5. **生育医疗/女性健康/医保服务——生育医保新政驱动** — 依据: 政策5中"42项围产检查""全额支付""取消封顶""无痛分娩全覆盖""分娩住院全报销"——生育医疗服务/围产检查设备/无痛分娩技术/医保信息化需求
|
||||
6. **数字职业/低空经济/新能源职业——新职业认定驱动** — 依据: 政策1中"数字职业45%""绿色职业27%""低空物流员""微电网管理员""运动数据分析师"——低空经济物流/微电网管理/数字孪生技术/新能源运维人才需求
|
||||
7. **服务贸易/国际合作——服贸会驱动** — 依据: 政策7中"90个国家""1830+企业""新技术新成果"——服务贸易企业/国际合作平台/技术出口需求
|
||||
|
||||
**看空的赛道:**
|
||||
1. **依赖长账期/汇票支付的汽车供应链企业(账期规范+现金支付要求)** — 依据: 政策3中"不得以商业汇票或应收账款电子凭证等方式支付""不强迫或变相强迫供应商接受商业承兑汇票""鼓励全部采用现金支付"——依赖汇票账期套利的供应链金融模式面临规范压力 (推测,非原文,基于现金支付要求+汇票限制+中小企业保护推断)
|
||||
2. **不合规AI企业/依赖蒸馏外模型的AI企业(反制+自主化要求)** — 依据: 政策2中"必将坚决采取措施予以反制""开源开放""算力垄断"——依赖美方模型蒸馏、缺乏自主技术能力的AI企业面临国际博弈风险 (推测,非原文,基于反制承诺+开源开放立场+算力垄断定性推断)
|
||||
3. **低质量消费服务/高投诉率商家(放心消费信用激励+检查频次挂钩)** — 依据: 政策10中"降低对守信主体的检查比例与频次""从源头解决服务质量不高、纠纷增长过快、消费信心不足"——不守信商家面临检查频次升高和信用劣势 (推测,非原文,基于信用激励反向效应+消费信心要求推断)
|
||||
|
||||
### 小方向(赛道内部)
|
||||
- 具体机会:
|
||||
- 具身智能机器人制造/应用(政策1"具身智能机器人应用技术员"+政策6"40+具身智能企业"→制造/应用/场景开发)
|
||||
- 智能体开发平台(政策1"智能体开发员"+政策6"30+智能体应用"→智能体开发工具/平台)
|
||||
- 数字孪生技术(政策1"数字孪生工程技术人员"→工业数字孪生/城市数字孪生)
|
||||
- 低空物流(政策1"低空物流员"→低空经济物流/无人机配送)
|
||||
- 微电网管理(政策1"微电网管理员"+上期碳达峰"分布式3亿千瓦"→微电网运营/管理)
|
||||
- 适老化改造(政策1"适老化改造设计师"→适老化设计/改造服务)
|
||||
- 汽车供应链合规/验收标准化(政策3"3日/5日验收+30天支付"→供应链合规系统/验收标准)
|
||||
- 中小企业账款管理/供应链金融现金支付(政策3"全部现金支付+不得汇票"→现金支付服务/账款管理)
|
||||
- 消费信用服务/放心消费认证(政策10"信用联合激励+5000个集聚区"→信用评估/认证服务)
|
||||
- 消费保险产品(政策10"放心消费责任险+无理由退货责任险"→保险产品设计/承保)
|
||||
- 白内障手术设备/眼科诊疗设备(政策9"百万人口4000+95%县域"→手术设备/眼科器械)
|
||||
- 县域眼科服务/眼健康筛查(政策9"95%县域独立诊疗+防筛诊治康"→县域眼科建设/筛查服务)
|
||||
- 生育医疗服务/围产检查(政策5"42项围产检查全报销"→生育医疗服务/围产检查设备)
|
||||
- 无痛分娩技术/麻醉服务(政策5"无痛分娩全覆盖+95%镇痛分娩率"→分娩镇痛技术/设备)
|
||||
- AI开源模型/自主AI技术(政策2"开源开放+必将反制+算力垄断"→AI自主化/开源模型)
|
||||
- 服务贸易平台/国际合作(政策7"90国+1830+企业"→服务贸易/技术出口)
|
||||
- 档案安全/信息化系统(政策4"档案安全预案+四级量化"→档案安全系统/信息化)
|
||||
- 风险提示: 政策1(新职业)为人社部职业分类发布,具体培训标准和资格认证待后续文件;政策2(商务部反制)为外交回应,具体反制措施和时间待后续公告;政策3(车企账期管理)为两部门通知,具体执行标准和处罚待配套规则;政策4(档案安全预案)为国家档案局部门预案,具体事故认定标准和调查程序待实施细则;政策5(上海生育医保)为地方政策,全国推广时间待国家医保局决策;政策6(外滩大会)为产业会展报道,具体产业政策需结合"十五五"规划纲要和AI产业政策;政策7(服贸会)为会展报道,具体服务贸易政策待商务部文件;政策8(PBC出席BIS)为国际交流报道,具体货币政策调整待PBC后续公告;政策9(眼健康方案)为三部门方案,具体配套资金和执行标准待后续文件;政策10(放心消费信用激励)为市场监管总局通知,具体信用激励细则和系统上线时间待后续公告
|
||||
|
||||
---
|
||||
|
||||
## 5. 关键词
|
||||
`第八批新职业` `11个新职业` `23个新工种` `数字孪生工程技术人员` `具身智能机器人应用技术员` `运动数据分析师` `微电网管理员` `低空物流员` `智能体开发员` `适老化改造设计师` `数字职业45%` `绿色职业27%` `累计121个新职业` `商务部反制美AI蒸馏` `工业规模蒸馏` `算力垄断` `双重标准` `必将坚决反制` `只能美国独赢不能人类共赢` `开源开放合作共享` `AI政府间对话` `车企账期管理新规` `首个行业账期文件` `3个工作日验收` `5个工作日验收` `中小企业30天` `60天最长` `全部现金支付` `不得商业汇票` `17家车企承诺` `档案安全事故应急预案` `首次量化事故等级` `四级事故` `按比例确定` `不受数量限制认定` `珍贵程度判定` `国家档案局调查` `上海医保生育新政` `42项围产检查` `全额支付` `个人无自付` `取消报销封顶` `分娩住院全报销` `无痛分娩覆盖` `95%镇痛分娩率` `职工居民同等待遇` `10月1日实施` `外滩大会AI新经济` `300+科技企业` `40+具身智能企业` `30+智能体应用` `5个真实场景` `药房工业物流巡检康养` `真本领` `服贸会` `90个国家地区` `1830+企业` `服务贸易` `PBC出席BIS例会` `AI技术快速迭代` `货币政策挑战` `多变外部环境` `央行政策沟通` `供给冲击` `眼健康五年工作方案` `白内障手术率超4000` `95%县域独立诊疗` `防筛诊治康全链条` `全生命周期` `三部门联合` `放心消费信用激励` `5000个集聚区` `放心消费在中国` `信用联合激励` `增加信用额度降低利率` `放心消费责任险` `无理由退货责任险` `零负担无感操作` `自动赋码赋标` `降低检查频次` `防汛大考` `24个台风` `零伤亡转移` `临灾预警叫应机制`
|
||||
|
||||
---
|
||||
|
||||
## 6. 发布前自检(内嵌,发布前必须逐项打勾)
|
||||
|
||||
- [x] **原文可追溯:** 每条政策都有原文链接或原文引文。政策1(CCTV curl全文获取,11新职业+23工种+数字45%+绿色27%+121累计完整);政策2(CCTV curl全文获取,工业规模蒸馏+算力垄断+双重标准+必将反制+开源开放完整);政策3(人民日报WebFetch全文获取,首个行业账期文件+3/5日验收+30天+60天+全部现金+不得汇票完整);政策4(CCTV curl全文获取,首次制定+四级量化+比例确定+珍贵程度+调查权限完整);政策5(CCTV curl全文获取,42项围产+全额支付+取消封顶+分娩全报销+无痛分娩+95%镇痛率完整);政策6(新华社WebFetch全文获取,300+企业+40+具身智能+30+智能体+5场景+真本领完整);政策7(CCTV curl部分获取,90国+1830+企业+新技术新成果,⚠️已降级标注);政策8(PBC scraper全文获取,BIS例会+AI技术迭代+货币政策挑战+政策沟通完整);政策9(CCTV curl全文获取,三部门联合+2030年+4000+95%+全链条+全生命周期完整);政策10(CCTV curl全文获取,5000个集聚区+信用激励+金融支持+特色险种+零负担完整)
|
||||
- [x] **四步法齐全:** 每条政策都经过 4.1→4.2→4.3→4.4 四步,无缺失项
|
||||
- [x] **基线对比完成:** 非首次运行,已对比上一期 2026-09-07 报告逐条标注新增表述/措辞变化
|
||||
- [x] **方向判断有依据:** 每个投资判断(含看空赛道)指向具体政策编号
|
||||
- [x] **无臆测:** 所有分析基于原文,推测部分标注「(推测,非原文)」
|
||||
- [x] **优先级标注:** 每条政策在清单中标注了 P0-P4 优先级
|
||||
- [x] **降级标注:** 政策7(服贸会)原文获取不完整(仅3段简短报道),已添加 ⚠️ 降级标注
|
||||
@@ -593,6 +593,95 @@ OKX 现货 API ◄──── freqtrade 执行下单 ◄───────
|
||||
|
||||
---
|
||||
|
||||
### 4.9 V6 策略:修代码硬伤 + 调止损 + Hyperopt + 回测验证
|
||||
|
||||
V5-Stock 跑通后深度分析发现 3 个问题,V6 针对性修复并跑 hyperopt 验证。
|
||||
|
||||
#### 4.9.1 三个问题与 V6 修复
|
||||
|
||||
**问题 1:指标被非开盘 K 线稀释(代码硬伤)**
|
||||
|
||||
V5-Stock 的 `populate_indicators` 在完整 24/7 dataframe 上计算 ATR/ADX/SMA/通道。OKX 代币化股票 96 根/天 K 线中仅 ~19% 在美股交易时段(9:30-16:00 ET),62% 周末 K 线近似 0 波动。ATR 被稀释 ~16%,通道高低点被平盘 K 线拉偏。
|
||||
|
||||
V6 修复:在 `populate_indicators` 中提取交易时段子集 `mh`,仅在 `mh` 上计算全部指标,然后用 `reindex(dataframe.index, method='ffill')` forward-fill 回完整 dataframe。实测验证:ATR 从稀释值恢复 1.16x,无 NaN 结构问题。Freqtrade 的 `StrategyResultValidator` 要求返回的 dataframe 行数/末行日期/末行收盘不变,此方法保留所有原始行。
|
||||
|
||||
**问题 2:SMA 周期 `* 96` 硬编码**
|
||||
|
||||
V5 原版 `ma_span_long_days * 96` 假设 96 根/天全是有效 K 线(加密 24/7 语义)。代币化股票仅 26 根/天是交易时段。V6 改为 `* 26`(`MARKET_CANDLES_PER_DAY = 26`),`ma_span_long_days=2` → 52 根交易时段 K 线 = 2 个交易日,与 V5 加密版语义一致。
|
||||
|
||||
**问题 3:止损阶梯为加密尺度**
|
||||
|
||||
V5 的 `custom_stoploss` 利润阈值 5%/15%/30% 适合加密 10x 杠杆。股票 1x 下单笔 30% 利润极罕见。V6 下调到 3%/8%/15%(保本+0.5%/允许 5% 回撤/允许 8% 回撤)。
|
||||
|
||||
#### 4.9.2 V6 参数搜索范围
|
||||
|
||||
| 参数 | V5-Stock 范围 | V6 范围 | 原因 |
|
||||
|------|-------------|---------|------|
|
||||
| `up_line_span` | 100-400 | 50-150 | 交易时段 K 线,50-150 = 2-6 交易日 |
|
||||
| `buy_stop_profit_span` | 50-200 | 20-80 | 1-3 交易日 |
|
||||
| `ma_span_long_days` | 1-5 | 1-5 | ×26 后 = 26-130 |
|
||||
| `adx_threshold` | 15-40 | 15-35 | 股票 ADX 常态 15-30 |
|
||||
| `up_line_offset` | -0.2~0.4 | -0.3~0.3 | 真实 ATR 下范围居中 |
|
||||
| `buy_stop_profit_offset` | -0.2~0.2 | -0.2~0.4 | 同上 |
|
||||
| `max_slippage` | 0.005-0.03 | 0.005-0.03 | 不变 |
|
||||
|
||||
`startup_candle_count` 600 → 800(覆盖 up_line_span=150 的 ~781 根预热,剩余 ~21 交易日用于信号生成)。
|
||||
|
||||
#### 4.9.3 三方回测对比
|
||||
|
||||
回测区间:2026-07-24 ~ 2026-08-23(29 天,~21 个有效交易日)。24 只标的,XSNOW/XSMH 因数据不足被跳过。
|
||||
|
||||
| 维度 | V5-Stock(旧代码+旧参数) | V6 默认(新代码+默认参数) | V6 优化(新代码+Hyperopt 参数) |
|
||||
|------|--------------------------|---------------------------|-------------------------------|
|
||||
| 交易数 | 32 | 33 | 51 |
|
||||
| 收益率 | +4.74% | +1.56% | -1.14% |
|
||||
| 胜率 | 43.8% | 57.6% | 62.7% |
|
||||
| Sharpe(closed) | 2.35 | 1.46 | -1.59 |
|
||||
| 最大回撤 | 4.71% | 3.74% | 5.73% |
|
||||
| 被拒入场信号 | 119 | 77 | 21 |
|
||||
| 平均持仓 | 3d 9h | 2d 20h | 16h 28m |
|
||||
|
||||
**Hyperopt 最优参数(Epoch 295/300,Objective=0.05952)**
|
||||
|
||||
```python
|
||||
# Buy
|
||||
adx_threshold = 25, buy_stop_profit_span = 38, ma_span_long_days = 5
|
||||
max_slippage = 0.027, up_line_offset = 0.26, up_line_span = 104
|
||||
# Sell
|
||||
buy_stop_profit_offset = 0.17
|
||||
# ROI(hyperopt 新发现,V5/V5-Stock 原为 {"0": 100} 禁用)
|
||||
{"0": 0.257, "89": 0.063, "255": 0.018, "545": 0}
|
||||
# Stoploss
|
||||
-0.084
|
||||
```
|
||||
|
||||
#### 4.9.4 分析与结论
|
||||
|
||||
**V6 代码改进有效但未带来收益提升:**
|
||||
- V6 默认参数 vs V5-Stock:胜率从 43.8% → 57.6%,回撤从 4.71% → 3.74%,但收益从 +4.74% → +1.56%。指标修复(ATR 恢复真实水平)和止损阶梯下调改善了风险控制,但默认参数(`up_line_span=80, adx=20, up_line_offset=0.0`)较 V5-Stock 默认值(`340, 25, -0.18`)更保守,入场更少、利润更小。
|
||||
- 交易时段指标计算确实生效——被拒信号从 119 降到 77(V5-Stock 拒了更多噪声信号),说明 ATR/通道基于真实交易时段波动后,`confirm_trade_entry` 的滑点检查更精准。
|
||||
|
||||
**Hyperopt 过拟合(核心问题):**
|
||||
- 300 轮 hyperopt 在 29 天数据上收敛,最优 epoch 的 Objective 从 2.57 → 0.059(持续下降,收敛正常)。
|
||||
- 但最优参数回测收益 -1.14%,远不如 V6 默认 +1.56% 和 V5-Stock +4.74%。
|
||||
- 根因:Hyperopt 找到一组高胜率(62.7%)但负期望参数。ROI 止盈(39 笔 ROI 退出,82.1% 胜率,avg +0.95%)快速锁利,但被 ROI 截断的赢家平均仅赚 0.95%,而 11 笔 channel_exit 亏损平均亏 -3.06%——盈亏比倒挂。
|
||||
- `ma_span_long_days=5`(搜索范围上限)和 `up_line_offset=0.26`(偏积极)说明 hyperopt 在小样本上过拟合到了少数大波动标的(XSOXL 亏 -2.80%,XTSM 亏 -1.00%)。
|
||||
- **结论:29 天 / ~21 个有效交易日的数据量不足以支撑可靠的 hyperopt。需要至少 3-6 个月历史数据。**
|
||||
|
||||
**配置覆盖陷阱(已修复):**
|
||||
- 初次回测 V6 优化参数时,config 的 `minimal_roi: {"0": 100}` 覆盖了 hyperopt 找到的 ROI 表,导致只有 buy/sell 参数生效(25 trades, -0.32%)。
|
||||
- Freqtrade 参数加载顺序:策略类默认 → hyperopt JSON → config 覆盖。config 中的 `minimal_roi`/`stoploss` 会覆盖 hyperopt 结果。
|
||||
- 修复:config 中改为 hyperopt 找到的值后方才生效(51 trades, -1.14%)。
|
||||
|
||||
#### 4.9.5 建议
|
||||
|
||||
1. **V6 代码保留**:指标计算修复(交易时段子集 + forward-fill)、`* 26` 修复、股票止损阶梯——这些是正确的工程改进
|
||||
2. **Hyperopt 结果暂不用**:29 天数据过拟合严重,等 OKX 积累 3-6 个月历史数据后重跑
|
||||
3. **短期用 V6 默认参数或 V5-Stock 参数**:V5-Stock 参数(`up_line_span=340, adx=25, up_line_offset=-0.18`)在当前数据上收益最高,可作为 V6 的备选参数
|
||||
4. **XSOXL 是持续性亏损标的**:在 V5-Stock、V6 默认、V6 优化三个版本中均亏损,考虑从 whitelist 移除
|
||||
|
||||
---
|
||||
|
||||
## 5. 综合推荐
|
||||
|
||||
按"聚焦策略不写框架"的目标排序:
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
---
|
||||
name: jd-fapai-scrape
|
||||
description: 抓取京东法拍房搜索结果并支持增量更新。通过 Playwright 渲染京东法拍 H5 页面,拦截 API 响应,提取完整房源数据。支持项目链接、拍卖轮次、智能增量更新(遇到已知数据即停止,不全量下载)。
|
||||
---
|
||||
|
||||
# 京东法拍房源抓取
|
||||
|
||||
## 用途
|
||||
|
||||
从京东司法拍卖频道搜索结果页抓取全部房源信息:
|
||||
- 房源标题与地址(完整不截断)
|
||||
- 项目链接(`https://m.jd.com/product/{skuId}.html`)
|
||||
- 起拍价 / 当前价 / 均价
|
||||
- 户型 / 面积 / 用途 / 小区名称
|
||||
- 拍卖轮次(一拍/二拍/变卖,从 API 标签或折扣率推断)
|
||||
- 拍卖状态 / 出价次数 / 围观人数
|
||||
- 拍卖开始与结束时间
|
||||
- 增量追踪字段(`_first_seen` / `_last_seen`)
|
||||
|
||||
## 前置条件
|
||||
|
||||
```bash
|
||||
pip install playwright
|
||||
python3 -m playwright install chromium
|
||||
# 或 apt install chromium-browser
|
||||
```
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 首次抓取
|
||||
|
||||
```bash
|
||||
# 默认抓取塘厦镇
|
||||
python3 skills/jd-fapai-scrape/scrape.py
|
||||
|
||||
# 抓取东莞市全部法拍房(~4000 条,约 3 分钟)
|
||||
python3 skills/jd-fapai-scrape/scrape.py --keyword 东莞市 --output-dir ../法拍/data
|
||||
|
||||
# 自定义参数
|
||||
python3 skills/jd-fapai-scrape/scrape.py --keyword 长安 --sort-field 11 --cate-id 15
|
||||
```
|
||||
|
||||
### 增量更新
|
||||
|
||||
```bash
|
||||
# 加 -i 标志,只下载新房源,遇到已知 paimaiId 即停止
|
||||
python3 skills/jd-fapai-scrape/scrape.py --keyword 东莞市 --output-dir ../法拍/data -i
|
||||
```
|
||||
|
||||
增量模式的智能行为:
|
||||
- 读取已有 `{keyword}_法拍房源.json` 中的所有 `paimaiId`
|
||||
- 按最新发布排序加载(`spo_sortField=11`)
|
||||
- **每加载一批(~40 条)检查是否全部已知**,如果是则立即停止
|
||||
- 典型增量更新只需加载 1-2 批(~30 秒),而非全量下载 100 批(~3 分钟)
|
||||
- 新房源添加 `_first_seen` 和 `_last_seen` 时间戳
|
||||
- 已有房源更新可变字段(当前价、状态、出价次数等)并刷新 `_last_seen`
|
||||
|
||||
## 去重机制
|
||||
|
||||
**去重 key = `paimaiId`(拍卖ID)**
|
||||
|
||||
- 每次拍卖有唯一的 `paimaiId`,同一房产的一拍和二拍是不同的 `paimaiId`,各自保留
|
||||
- 不会因为标题相同而合并不同拍卖轮次
|
||||
- `paimaiId` 对应唯一的详情页 URL(`https://m.jd.com/product/{skuId}.html`),等价于按 URL 去重
|
||||
|
||||
## 命令行参数
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `--keyword` | 塘厦 | 搜索关键词 |
|
||||
| `--cate-id` | 15 | 类目 ID(15=法拍房) |
|
||||
| `--sort-field` | 11 | 排序(11=最新发布) |
|
||||
| `--max-scrolls` | 100 | 最大滚动次数 |
|
||||
| `--output-dir` | . | 输出目录 |
|
||||
| `--incremental` / `-i` | false | 增量更新模式 |
|
||||
|
||||
## 输出文件
|
||||
|
||||
| 文件 | 内容 |
|
||||
|------|------|
|
||||
| `{keyword}_法拍房源.csv` | CSV 表格(26 列,最新发布在前) |
|
||||
| `{keyword}_法拍房源.json` | 完整原始 JSON(含增量追踪字段) |
|
||||
| `{keyword}_增量日志.log` | 每次增量更新的新增/变更记录(仅增量模式) |
|
||||
|
||||
### CSV 列说明
|
||||
|
||||
| 列 | 说明 |
|
||||
|----|------|
|
||||
| 序号 / 拍卖ID / SKU ID | 唯一标识 |
|
||||
| 标题 | 完整房产标题 |
|
||||
| **项目链接** | `https://m.jd.com/product/{skuId}.html` |
|
||||
| 位置 / 用途 / 户型 / 面积(㎡) / 小区 / 均价 | 房产属性 |
|
||||
| 起拍价 / 当前价 / 折扣率 | 价格信息 |
|
||||
| **拍卖轮次** | 一拍/二拍/变卖(API 标签或折扣率推断) |
|
||||
| **标签** | 全部标签(诉讼资产、低于评估价等) |
|
||||
| 状态 / 出价次数 / 围观人数 | 拍卖状态 |
|
||||
| 开始时间 / 结束时间 | 拍卖时间 |
|
||||
| 拍卖类型 | 司法拍卖等 |
|
||||
| **首次发现** / **最后更新** | 增量追踪时间戳 |
|
||||
|
||||
## 工作原理
|
||||
|
||||
1. **Playwright 渲染**:headless Chromium 打开京东法拍 H5 页面
|
||||
2. **SSR 数据提取**:页面加载后从 `<script>` 标签中解析内嵌的 page 1 数据(约 40 条)
|
||||
3. **API 拦截**:监听 `api.m.jd.com` 响应,捕获三个 API:
|
||||
- `getSearchData`(appid=paimai)→ 房源列表 page 2+(标题、价格、户型、面积等)
|
||||
- `getPaimaiCurrentInfoByIdsForApi` → 实时拍卖状态(当前价、出价、围观)
|
||||
- `getAuctionLabelConfigs` → 拍卖标签(一拍/二拍/变卖等)
|
||||
4. **无限滚动**:自动滚动触发加载更多
|
||||
5. **智能停止**:增量模式下,检测到一批数据全部已知即停止(SSR page 1 和 API 各批都检查)
|
||||
6. **拍卖轮次推断**:优先用 API 标签,无标签时从折扣率推断(7折≈一拍, 5.6折≈二拍/变卖)
|
||||
7. **排序**:保持 API 返回顺序(spo_sortField=11 已按发布时间降序),不重新排序
|
||||
8. **增量合并**:按 `paimaiId` 去重合并,新数据在前,旧数据在后
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 京东法拍 API 有风控验证,必须通过浏览器渲染,无法直接调用 API
|
||||
- 页面是 JS SPA,但第一页数据通过 SSR 内嵌在 HTML `<script>` 标签中,需单独提取
|
||||
- API 只返回 page 2+,只拦截 API 会漏掉 page 1(包括最新发布的房源)
|
||||
- URL 中的位置参数(`tttparams`、`spo_lat`、`spo_lng`)影响搜索结果范围
|
||||
- API 每页约 40 条,东莞市全量约 4000 条(可能为 API 上限)
|
||||
- 拍卖标签(一拍/二拍)仅对部分数据能从 API 获取,其余从折扣率推断
|
||||
- 同一房产的多次拍卖(一拍流拍后二拍)有不同的 `paimaiId`,各自独立保留
|
||||
@@ -0,0 +1 @@
|
||||
playwright>=1.40
|
||||
@@ -0,0 +1,551 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
京东法拍房源抓取脚本 v3
|
||||
- 项目链接 (detail_url): https://m.jd.com/product/{skuId}.html
|
||||
- 拍卖轮次 (auction_round): 优先从 getAuctionLabelConfigs API 获取,无标签时从折扣率推断
|
||||
- 去重 key = paimaiId(每次拍卖唯一,同一房产的一拍/二拍为不同 paimaiId,各自保留)
|
||||
- 增量更新:遇到已知 paimaiId 即停止滚动,不全量下载
|
||||
- 按发布时间降序排序(最新在前)
|
||||
|
||||
用法:
|
||||
python3 scrape.py --keyword 东莞市 --output-dir data # 首次抓取
|
||||
python3 scrape.py --keyword 东莞市 --output-dir data -i # 增量更新
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import csv
|
||||
import datetime
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
from collections import Counter
|
||||
|
||||
BASE_URL = (
|
||||
"https://pro.m.jd.com/mall/active/3Rja7L2jmC72Ta8eoa31VFDvaAjf/index.html"
|
||||
"?pageParamMiddle=judicature_search_middle"
|
||||
"&pageParam=judicature_icon_search_after"
|
||||
"&pageFrom=judicature_search_home"
|
||||
"&tabParam=all"
|
||||
"&fixSearchParams=false"
|
||||
"&navh=49"
|
||||
"&stath=33"
|
||||
"&tttparams=W6cw9AU4eyJhZGRyZXNzSWQiOjEzODUwMzYwMCwiYXJlYUNvZGUiOjAsImNvcm5lciI6MSwiZF9icmFuZCI6IkhPTk9SIiwiZGwiOjIsImdMYXQiOiIyMi42MjM4MjkiLCJnTG5nIjoiMTE0LjAyNzk0OCIsImdwc19hcmVhIjoiMTlfMTYwN18zMTU1XzYyMTE5IiwibGF0IjoyMi41OTkwMzcsImxic0FyZWEiOiIxOV8xNjA3XzMxNTVfNjIxMTkiLCJsYnNMYXQiOiIyMi42MDA1MzciLCJsYnNMbmciOiIxMTQuMDE0Njk4IiwibG5nIjoxMTQuMDE2ODksIm1vZGVsIjoiVkVSLUFOMTAiLCJvcyI6IjE2IiwicG9zTGF0IjoiMjIuNjIzODI5IiwicG9zTG5nIjoiMTE0LjAyNzk0OCIsInByc3RhdGUiOiIwIiwic2NhbGUiOjMsInVlbXBzIjoiMC0yLTk5OSIsInVuX2FyZWEiOiIxOV8xNjA3XzQ3Mzg4XzYyMTM5Iiwid2lkdGgiOjEwNj8B9"
|
||||
"&spo_lng=114.01689"
|
||||
"&spo_lbsEffect=2"
|
||||
"&spo_reqSource=1"
|
||||
"&spo_multiThirdCateIds={cate_id}"
|
||||
"&spo_lat=22.599037"
|
||||
"&spo_keyword={keyword}"
|
||||
"&spo_sortField={sort_field}"
|
||||
)
|
||||
|
||||
STATUS_MAP = {0: "未开始", 1: "进行中", 2: "已结束", 3: "已撤回", 4: "已流拍"}
|
||||
AUCTION_TYPE_MAP = {1: "诉讼拍卖", 5: "司法拍卖", 7: "商业拍卖"}
|
||||
|
||||
|
||||
def find_chromium():
|
||||
for path in [
|
||||
"/usr/bin/chromium-browser", "/usr/bin/chromium",
|
||||
"/usr/bin/google-chrome", "/usr/bin/google-chrome-stable",
|
||||
]:
|
||||
if os.path.isfile(path):
|
||||
return path
|
||||
return None
|
||||
|
||||
|
||||
def ts_to_str(ts):
|
||||
if ts:
|
||||
try:
|
||||
return datetime.datetime.fromtimestamp(ts / 1000).strftime(
|
||||
"%Y-%m-%d %H:%M:%S"
|
||||
)
|
||||
except Exception:
|
||||
return str(ts)
|
||||
return ""
|
||||
|
||||
|
||||
def infer_round_from_discount(discount_rate):
|
||||
"""从折扣率推断拍卖轮次(7折≈一拍, 5.6折≈二拍/变卖, 10折≈无折扣)"""
|
||||
if not discount_rate:
|
||||
return ""
|
||||
if discount_rate >= 9.5:
|
||||
return "无折扣"
|
||||
if discount_rate >= 6.5:
|
||||
return "一拍(推断)"
|
||||
if discount_rate >= 5.0:
|
||||
return "二拍/变卖(推断)"
|
||||
return "低折扣"
|
||||
|
||||
|
||||
def load_existing(json_path):
|
||||
if not os.path.exists(json_path):
|
||||
return [], set()
|
||||
with open(json_path, "r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
known_ids = {item["paimaiId"] for item in data if "paimaiId" in item}
|
||||
return data, known_ids
|
||||
|
||||
|
||||
def fetch_listings(keyword, cate_id, sort_field, max_scrolls,
|
||||
known_paimai_ids=None, early_stop=True):
|
||||
url = BASE_URL.format(cate_id=cate_id, keyword=keyword, sort_field=sort_field)
|
||||
print(f"搜索 URL: {url}")
|
||||
print(f"关键词: {keyword} | 类目ID: {cate_id} | 排序: {sort_field}")
|
||||
|
||||
if known_paimai_ids is not None and early_stop:
|
||||
print(f"增量模式: 已知 {len(known_paimai_ids)} 个 paimaiId,遇到已知项即停止")
|
||||
|
||||
try:
|
||||
from playwright.sync_api import sync_playwright
|
||||
except ImportError:
|
||||
print("错误: 未安装 Playwright,请运行: pip install playwright")
|
||||
sys.exit(1)
|
||||
|
||||
chromium_path = find_chromium()
|
||||
|
||||
with sync_playwright() as p:
|
||||
launch_args = ["--no-sandbox", "--disable-gpu", "--disable-dev-shm-usage"]
|
||||
if chromium_path:
|
||||
browser = p.chromium.launch(
|
||||
executable_path=chromium_path, headless=True, args=launch_args
|
||||
)
|
||||
else:
|
||||
try:
|
||||
browser = p.chromium.launch(headless=True, args=launch_args)
|
||||
except Exception:
|
||||
print("错误: 未找到 Chromium,请运行:")
|
||||
print(" python3 -m playwright install chromium")
|
||||
sys.exit(1)
|
||||
|
||||
context = browser.new_context(
|
||||
user_agent=(
|
||||
"Mozilla/5.0 (Linux; Android 13; VER-AN10) "
|
||||
"AppleWebKit/537.36 (KHTML, like Gecko) "
|
||||
"Chrome/116.0.0.0 Mobile Safari/537.36"
|
||||
),
|
||||
viewport={"width": 375, "height": 812},
|
||||
is_mobile=True,
|
||||
)
|
||||
page = context.new_page()
|
||||
|
||||
# 用 dict 在闭包中累积数据
|
||||
all_listings = {}
|
||||
current_info = {}
|
||||
label_configs = {}
|
||||
state = {"search_call_count": 0, "stopped_early": False}
|
||||
|
||||
def handle_response(response):
|
||||
resp_url = response.url
|
||||
if "api.m.jd.com" not in resp_url or "functionId=" not in resp_url:
|
||||
return
|
||||
|
||||
try:
|
||||
body = response.text()
|
||||
if not body or len(body) <= 50:
|
||||
return
|
||||
data = json.loads(body)
|
||||
except Exception:
|
||||
return
|
||||
|
||||
if "getSearchData" in resp_url:
|
||||
state["search_call_count"] += 1
|
||||
result_data = data.get("data", {}).get("resultData", [])
|
||||
for item in result_data:
|
||||
d = item.get("data", {})
|
||||
if d and "paimaiId" in d:
|
||||
all_listings[d["paimaiId"]] = d
|
||||
|
||||
# 增量模式:本批全部已知就停
|
||||
if known_paimai_ids is not None and early_stop and result_data:
|
||||
new_in_batch = [
|
||||
item for item in result_data
|
||||
if item.get("data", {}).get("paimaiId") not in known_paimai_ids
|
||||
]
|
||||
if len(new_in_batch) == 0:
|
||||
print(f" 第 {state['search_call_count']} 批数据全部已知,停止滚动")
|
||||
state["stopped_early"] = True
|
||||
|
||||
elif "getPaimaiCurrentInfoByIdsForApi" in resp_url:
|
||||
if data.get("statusCode") == 200:
|
||||
for pid, info in data.get("data", {}).items():
|
||||
current_info[pid] = info
|
||||
|
||||
elif "getAuctionLabelConfigs" in resp_url:
|
||||
if data.get("code") == 0:
|
||||
for pid, config in data.get("data", {}).items():
|
||||
labels = config.get("labelConfigs", [])
|
||||
label_configs[pid] = [
|
||||
l.get("labelName", "") for l in labels
|
||||
]
|
||||
|
||||
page.on("response", handle_response)
|
||||
|
||||
print("正在打开页面...")
|
||||
page.goto(url, wait_until="networkidle", timeout=60000)
|
||||
print("页面加载完成。")
|
||||
|
||||
# 从 SSR 内嵌数据中提取 page 1(API 只返回 page 2+,page 1 在 HTML 里)
|
||||
ssr_listings = page.evaluate("""() => {
|
||||
const scripts = document.querySelectorAll('script');
|
||||
for (const s of scripts) {
|
||||
const text = s.textContent || '';
|
||||
if (!text.includes('resultData') || !text.includes('paimaiId')) continue;
|
||||
const idx = text.indexOf('"resultData"');
|
||||
if (idx === -1) continue;
|
||||
const arrStart = text.indexOf('[', idx);
|
||||
if (arrStart === -1) continue;
|
||||
let depth = 0, arrEnd = -1;
|
||||
for (let i = arrStart; i < text.length; i++) {
|
||||
if (text[i] === '[') depth++;
|
||||
else if (text[i] === ']') { depth--; if (depth === 0) { arrEnd = i + 1; break; } }
|
||||
}
|
||||
if (arrEnd === -1) continue;
|
||||
try {
|
||||
const arr = JSON.parse(text.substring(arrStart, arrEnd));
|
||||
return arr.map(item => item.data || item).filter(d => d && d.paimaiId);
|
||||
} catch(e) { continue; }
|
||||
}
|
||||
return [];
|
||||
}""")
|
||||
if ssr_listings:
|
||||
for d in ssr_listings:
|
||||
if "paimaiId" in d:
|
||||
all_listings[d["paimaiId"]] = d
|
||||
# 增量模式:检查 page 1 是否全部已知
|
||||
if known_paimai_ids is not None and early_stop:
|
||||
new_in_ssr = [d for d in ssr_listings
|
||||
if d.get("paimaiId") not in known_paimai_ids]
|
||||
if len(new_in_ssr) == 0:
|
||||
print(f" SSR page 1: {len(ssr_listings)} 条全部已知,停止")
|
||||
state["stopped_early"] = True
|
||||
print(f" SSR page 1: 提取 {len(ssr_listings)} 条")
|
||||
|
||||
time.sleep(3)
|
||||
|
||||
# 无限滚动
|
||||
prev_count = 0
|
||||
no_progress = 0
|
||||
|
||||
for i in range(max_scrolls):
|
||||
if state["stopped_early"]:
|
||||
break
|
||||
|
||||
page.evaluate("window.scrollTo(0, document.body.scrollHeight)")
|
||||
time.sleep(2)
|
||||
|
||||
curr_count = len(all_listings)
|
||||
if curr_count > prev_count:
|
||||
label_count = len(label_configs)
|
||||
print(f" 第 {i+1} 次滚动: 累计 {curr_count} 条 (标签 {label_count})")
|
||||
prev_count = curr_count
|
||||
no_progress = 0
|
||||
else:
|
||||
no_progress += 1
|
||||
|
||||
page_text = page.evaluate("document.body.innerText")
|
||||
if "没有更多" in page_text or "到底了" in page_text:
|
||||
print(f" 第 {i+1} 次滚动时到达底部")
|
||||
break
|
||||
|
||||
if no_progress >= 5:
|
||||
print(f" 连续 {no_progress} 次无新数据,停止")
|
||||
break
|
||||
|
||||
if not state["stopped_early"]:
|
||||
page.evaluate("window.scrollTo(0, document.body.scrollHeight)")
|
||||
time.sleep(3)
|
||||
|
||||
# 滚动结束后等待标签 API 响应
|
||||
time.sleep(2)
|
||||
|
||||
browser.close()
|
||||
|
||||
# 合并三个 API 的数据
|
||||
results = []
|
||||
for pid, listing in all_listings.items():
|
||||
# 构造项目链接
|
||||
sku_id = listing.get("skuId", "")
|
||||
listing["detail_url"] = (
|
||||
f"https://m.jd.com/product/{sku_id}.html" if sku_id else ""
|
||||
)
|
||||
|
||||
# 合并实时信息
|
||||
if str(pid) in current_info:
|
||||
info = current_info[str(pid)]
|
||||
listing["_currentPrice"] = info.get("currentPrice")
|
||||
listing["_auctionStatus"] = info.get("auctionStatus")
|
||||
listing["_bidCount"] = info.get("bidCount")
|
||||
listing["_accessNumber"] = info.get("accessNumber")
|
||||
listing["_startTime"] = info.get("startTime")
|
||||
listing["_endTime"] = info.get("endTime")
|
||||
|
||||
# 拍卖轮次:优先用 API 标签,无标签时从折扣率推断
|
||||
labels = label_configs.get(str(pid), [])
|
||||
round_labels = [
|
||||
l for l in labels if l in ("一拍", "二拍", "三拍", "变卖", "重新拍卖")
|
||||
]
|
||||
if round_labels:
|
||||
listing["auction_round"] = "、".join(round_labels)
|
||||
else:
|
||||
listing["auction_round"] = infer_round_from_discount(
|
||||
listing.get("discountRate")
|
||||
)
|
||||
listing["all_labels"] = "、".join(labels) if labels else ""
|
||||
|
||||
results.append(listing)
|
||||
|
||||
return results, state["stopped_early"]
|
||||
|
||||
|
||||
def sort_by_publish_time(listings):
|
||||
# API (spo_sortField=11) 已按发布时间降序返回,直接保持原顺序
|
||||
return list(listings)
|
||||
|
||||
|
||||
def merge_incremental(new_listings, existing_path, now_str):
|
||||
with open(existing_path, "r", encoding="utf-8") as f:
|
||||
existing = json.load(f)
|
||||
|
||||
existing_map = {item["paimaiId"]: item for item in existing if "paimaiId" in item}
|
||||
new_paimai_ids = set()
|
||||
new_items = []
|
||||
updated_items = []
|
||||
|
||||
for item in new_listings:
|
||||
pid = item.get("paimaiId")
|
||||
if pid is None:
|
||||
continue
|
||||
new_paimai_ids.add(pid)
|
||||
if pid not in existing_map:
|
||||
item["_first_seen"] = now_str
|
||||
item["_last_seen"] = now_str
|
||||
new_items.append(item)
|
||||
else:
|
||||
old = existing_map[pid]
|
||||
old["_last_seen"] = now_str
|
||||
for key in ["_currentPrice", "_auctionStatus", "_bidCount",
|
||||
"_accessNumber", "_startTime", "_endTime",
|
||||
"currentPrice", "currentPriceCN", "paimaiStatus",
|
||||
"displayStatus", "auction_round", "all_labels"]:
|
||||
if key in item:
|
||||
old[key] = item[key]
|
||||
updated_items.append(old)
|
||||
|
||||
merged = []
|
||||
seen = set()
|
||||
for item in new_listings:
|
||||
pid = item.get("paimaiId")
|
||||
if pid and pid not in seen:
|
||||
if pid in existing_map:
|
||||
merged.append(existing_map[pid])
|
||||
else:
|
||||
merged.append(item)
|
||||
seen.add(pid)
|
||||
for item in existing:
|
||||
pid = item.get("paimaiId")
|
||||
if pid and pid not in seen:
|
||||
merged.append(item)
|
||||
seen.add(pid)
|
||||
|
||||
return merged, new_items, updated_items
|
||||
|
||||
|
||||
def save_csv(listings, csv_path):
|
||||
with open(csv_path, "w", newline="", encoding="utf-8-sig") as f:
|
||||
writer = csv.writer(f)
|
||||
writer.writerow([
|
||||
"序号", "拍卖ID", "标题", "项目链接", "位置", "用途", "户型",
|
||||
"面积(㎡)", "小区", "均价", "起拍价(元)", "当前价(元)",
|
||||
"当前价(万)", "折扣率", "拍卖轮次", "标签", "状态",
|
||||
"出价次数", "围观次数", "开始时间", "结束时间",
|
||||
"SKU ID", "拍卖类型", "首次发现", "最后更新",
|
||||
])
|
||||
|
||||
for i, item in enumerate(listings):
|
||||
house = item.get("houseAttributes", {})
|
||||
writer.writerow([
|
||||
i + 1,
|
||||
item.get("paimaiId", ""),
|
||||
item.get("title", ""),
|
||||
item.get("detail_url", ""),
|
||||
"、".join(item.get("location", [])),
|
||||
house.get("housePurpose", ""),
|
||||
house.get("houseTypeInfo", ""),
|
||||
house.get("houseArea", ""),
|
||||
house.get("plotName", ""),
|
||||
house.get("averagePrice", ""),
|
||||
item.get("startPrice", ""),
|
||||
item.get("_currentPrice", item.get("currentPrice", "")),
|
||||
item.get("currentPriceCN", ""),
|
||||
item.get("discountRate", ""),
|
||||
item.get("auction_round", ""),
|
||||
item.get("all_labels", ""),
|
||||
STATUS_MAP.get(
|
||||
item.get("_auctionStatus", item.get("paimaiStatus")), ""
|
||||
),
|
||||
item.get("_bidCount", ""),
|
||||
item.get("_accessNumber", ""),
|
||||
ts_to_str(item.get("_startTime")),
|
||||
ts_to_str(item.get("_endTime")),
|
||||
item.get("skuId", ""),
|
||||
AUCTION_TYPE_MAP.get(
|
||||
item.get("auctionType"),
|
||||
str(item.get("auctionType", "")),
|
||||
),
|
||||
item.get("_first_seen", ""),
|
||||
item.get("_last_seen", ""),
|
||||
])
|
||||
|
||||
|
||||
def print_stats(listings, new_items=None, updated_items=None, early_stopped=False):
|
||||
print(f"\n{'=' * 60}")
|
||||
print(f"房源总数: {len(listings)} 条")
|
||||
if new_items is not None:
|
||||
print(f"本次新增: {len(new_items)} 条")
|
||||
if updated_items is not None:
|
||||
print(f"本次更新: {len(updated_items)} 条")
|
||||
if early_stopped:
|
||||
print(f"(增量模式: 遇到已知数据即停止,未全量下载)")
|
||||
print(f"{'=' * 60}")
|
||||
|
||||
prices = [
|
||||
item.get("_currentPrice") or item.get("currentPrice", 0)
|
||||
for item in listings
|
||||
if item.get("_currentPrice") or item.get("currentPrice")
|
||||
]
|
||||
if prices:
|
||||
print(f"\n价格统计:")
|
||||
print(f" 最低: ¥{min(prices):,.2f}")
|
||||
print(f" 最高: ¥{max(prices):,.2f}")
|
||||
print(f" 平均: ¥{sum(prices) / len(prices):,.2f}")
|
||||
print(f" 中位: ¥{sorted(prices)[len(prices) // 2]:,.2f}")
|
||||
|
||||
statuses = Counter(
|
||||
STATUS_MAP.get(
|
||||
item.get("_auctionStatus", item.get("paimaiStatus")), "未知"
|
||||
)
|
||||
for item in listings
|
||||
)
|
||||
print(f"\n状态分布:")
|
||||
for s, c in statuses.most_common():
|
||||
print(f" {s}: {c} 条")
|
||||
|
||||
rounds = Counter(item.get("auction_round", "") for item in listings)
|
||||
print(f"\n拍卖轮次分布:")
|
||||
for r, c in rounds.most_common():
|
||||
if r:
|
||||
print(f" {r}: {c} 条")
|
||||
|
||||
if new_items:
|
||||
print(f"\n新增房源 (前 10 条):")
|
||||
for i, item in enumerate(new_items[:10]):
|
||||
price = item.get("_currentPrice") or item.get("currentPrice", 0)
|
||||
print(f" [{i+1}] {item.get('title', 'N/A')[:50]}")
|
||||
print(f" ¥{price:,.0f} | {item.get('auction_round','')} | "
|
||||
f"{ts_to_str(item.get('_startTime'))}")
|
||||
print(f" {item.get('detail_url','')}")
|
||||
|
||||
|
||||
def scrape(keyword="塘厦", cate_id="15", sort_field="11",
|
||||
max_scrolls=100, output_dir=".", incremental=False):
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
now_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
print(f"运行时间: {now_str}")
|
||||
print(f"模式: {'增量更新' if incremental else '首次抓取'}")
|
||||
print()
|
||||
|
||||
json_path = os.path.join(output_dir, f"{keyword}_法拍房源.json")
|
||||
csv_path = os.path.join(output_dir, f"{keyword}_法拍房源.csv")
|
||||
|
||||
known_ids = None
|
||||
if incremental:
|
||||
existing, known_ids = load_existing(json_path)
|
||||
if not known_ids:
|
||||
print("未找到已有数据,转为首次抓取模式")
|
||||
incremental = False
|
||||
else:
|
||||
print(f"已有数据: {len(existing)} 条, 已知 {len(known_ids)} 个 paimaiId")
|
||||
|
||||
new_listings, early_stopped = fetch_listings(
|
||||
keyword, cate_id, sort_field, max_scrolls,
|
||||
known_paimai_ids=known_ids if incremental else None,
|
||||
early_stop=incremental,
|
||||
)
|
||||
print(f"\n本次抓取: {len(new_listings)} 条")
|
||||
|
||||
if incremental:
|
||||
merged, new_items, updated_items = merge_incremental(
|
||||
new_listings, json_path, now_str
|
||||
)
|
||||
print(f"合并后总数: {len(merged)} 条")
|
||||
print(f"新增: {len(new_items)} 条 | 更新: {len(updated_items)} 条")
|
||||
|
||||
with open(json_path, "w", encoding="utf-8") as f:
|
||||
json.dump(merged, f, indent=2, ensure_ascii=False)
|
||||
save_csv(merged, csv_path)
|
||||
|
||||
log_path = os.path.join(output_dir, f"{keyword}_增量日志.log")
|
||||
with open(log_path, "a", encoding="utf-8") as f:
|
||||
f.write(f"\n{'=' * 60}\n")
|
||||
f.write(f"时间: {now_str}\n")
|
||||
f.write(f"新增: {len(new_items)} 条 | 更新: {len(updated_items)} 条\n")
|
||||
f.write(f"提前停止: {'是' if early_stopped else '否'}\n")
|
||||
for item in new_items:
|
||||
price = item.get("_currentPrice") or item.get("currentPrice", 0)
|
||||
f.write(f" [新] {item.get('title', 'N/A')[:60]} | "
|
||||
f"{item.get('auction_round','')} | ¥{price:,.0f} | "
|
||||
f"{ts_to_str(item.get('_startTime'))}\n"
|
||||
f" {item.get('detail_url','')}\n")
|
||||
for item in updated_items:
|
||||
price = item.get("_currentPrice") or item.get("currentPrice", 0)
|
||||
f.write(f" [更] {item.get('title', 'N/A')[:60]} | "
|
||||
f"{item.get('auction_round','')} | ¥{price:,.0f} | "
|
||||
f"{ts_to_str(item.get('_startTime'))}\n")
|
||||
|
||||
print(f"\n输出文件:")
|
||||
print(f" JSON: {json_path}")
|
||||
print(f" CSV: {csv_path}")
|
||||
print(f" 日志: {log_path}")
|
||||
|
||||
print_stats(merged, new_items, updated_items, early_stopped=early_stopped)
|
||||
return merged
|
||||
else:
|
||||
sorted_listings = sort_by_publish_time(new_listings)
|
||||
for item in sorted_listings:
|
||||
item["_first_seen"] = now_str
|
||||
item["_last_seen"] = now_str
|
||||
|
||||
with open(json_path, "w", encoding="utf-8") as f:
|
||||
json.dump(sorted_listings, f, indent=2, ensure_ascii=False)
|
||||
save_csv(sorted_listings, csv_path)
|
||||
|
||||
print(f"\n输出文件:")
|
||||
print(f" JSON: {json_path}")
|
||||
print(f" CSV: {csv_path}")
|
||||
|
||||
print_stats(sorted_listings)
|
||||
return sorted_listings
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="京东法拍房源抓取(支持增量更新)")
|
||||
parser.add_argument("--keyword", default="塘厦", help="搜索关键词 (默认: 塘厦)")
|
||||
parser.add_argument("--cate-id", default="15", help="类目ID (默认: 15=法拍房)")
|
||||
parser.add_argument("--sort-field", default="11", help="排序 (默认: 11=最新发布)")
|
||||
parser.add_argument("--max-scrolls", type=int, default=100, help="最大滚动次数")
|
||||
parser.add_argument("--output-dir", default=".", help="输出目录")
|
||||
parser.add_argument("--incremental", "-i", action="store_true",
|
||||
help="增量更新:只下载新房源,遇到已知项即停止")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
scrape(
|
||||
keyword=args.keyword,
|
||||
cate_id=args.cate_id,
|
||||
sort_field=args.sort_field,
|
||||
max_scrolls=args.max_scrolls,
|
||||
output_dir=args.output_dir,
|
||||
incremental=args.incremental,
|
||||
)
|
||||
@@ -0,0 +1,179 @@
|
||||
# 京东法拍房搜索 URL 结构说明
|
||||
|
||||
## 一、URL 总体结构
|
||||
|
||||
```
|
||||
https://pro.m.jd.com/mall/active/{activityId}/index.html?{query_params}
|
||||
```
|
||||
|
||||
| 部分 | 值 | 说明 |
|
||||
|------|-----|------|
|
||||
| 协议/域名 | `https://pro.m.jd.com` | 京东移动端 H5 活动页服务器 |
|
||||
| 路径 | `/mall/active/3Rja7L2jmC72Ta8eoa31VFDvaAjf/index.html` | 活动 ID,对应司法拍卖(法拍)频道首页 |
|
||||
|
||||
> **最小可用 URL**:路径中的活动 ID 本身就标识了法拍频道,即使不带任何查询参数也能打开法拍首页。
|
||||
|
||||
---
|
||||
|
||||
## 二、查询参数详解
|
||||
|
||||
### 2.1 页面上下文参数(控制页面渲染状态)
|
||||
|
||||
| 参数 | 示例值 | 必填 | 说明 |
|
||||
|------|--------|------|------|
|
||||
| `pageParam` | `judicature_icon_search_after` | ✅ | 页面状态:从司法图标搜索进入结果页 |
|
||||
| `pageFrom` | `judicature_search_home` | ✅ | 来源页面:司法搜索首页 |
|
||||
| `tabParam` | `all` | ✅ | 当前 Tab:"all" = 全部 |
|
||||
| `pageParamMiddle` | `judicature_search_middle` | ✅ | 中间页参数(SSR 渲染需要) |
|
||||
| `fixSearchParams` | `false` | ❌ | 是否固定搜索条件 |
|
||||
| `navh` | `49` | ❌ | 导航栏高度(px) |
|
||||
| `stath` | `33` | ❌ | 状态栏高度(px) |
|
||||
|
||||
### 2.2 搜索条件参数(`spo_` 前缀,核心筛选字段)
|
||||
|
||||
| 参数 | 示例值 | 必填 | 说明 |
|
||||
|------|--------|------|------|
|
||||
| `spo_keyword` | `塘厦` | ✅ | **搜索关键词**(URL 编码) |
|
||||
| `spo_sortField` | `11` | ✅ | **排序字段**:`11` = 按最新发布排序 |
|
||||
| `spo_multiThirdCateIds` | `15` | ✅ | **类目 ID**:`15` = 法拍房 |
|
||||
| `spo_lat` | `22.599037` | ✅ | 定位纬度(影响搜索结果) |
|
||||
| `spo_lng` | `114.01689` | ✅ | 定位经度(影响搜索结果) |
|
||||
| `spo_lbsEffect` | `2` | ✅ | LBS 效果模式 |
|
||||
| `spo_reqSource` | `1` | ✅ | 请求来源标识 |
|
||||
|
||||
### 2.3 设备/位置信息(`tttparams`,base64 编码 JSON)
|
||||
|
||||
原始值是一段 base64 编码,解码后为 JSON 对象,包含:
|
||||
|
||||
| 字段 | 示例值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `addressId` | `138503600` | 京东地址 ID |
|
||||
| `d_brand` | `HONOR` | 手机品牌 |
|
||||
| `model` | `VER-AN10` | 手机型号 |
|
||||
| `gLat` / `gLng` | `22.623829` / `114.027948` | GPS 定位 |
|
||||
| `lbsLat` / `lbsLng` | `22.600537` / `114.014698` | LBS 基站定位 |
|
||||
| `gps_area` | `19_1607_3155_62119` | GPS 区域编码(省_市_区_街道) |
|
||||
| `un_area` | `19_1607_47388_62139` | 用户区域编码 |
|
||||
| `scale` | `3` | 屏幕缩放 |
|
||||
| `os` | `16` | 系统版本 |
|
||||
|
||||
> 区域编码 `19_1607_3155_62119` 对应:广东(19)_深圳(1607)_塘厦镇(3155)
|
||||
|
||||
### 2.4 时间戳
|
||||
|
||||
| 参数 | 示例值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `_ts` | `1788869426803` | 毫秒级时间戳 |
|
||||
|
||||
### 2.5 UTM 分享/推广追踪
|
||||
|
||||
| 参数 | 示例值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `utm_user` | `plusmember` | 用户身份 |
|
||||
| `utm_source` | `androidapp` | 来源平台 |
|
||||
| `utm_medium` | `appshare` | 分享媒介 |
|
||||
| `utm_campaign` | `t_335139774` | 活动 ID |
|
||||
| `utm_term` | `Wxfriends_shareid...` | 微信好友分享 ID |
|
||||
| `ad_od` | `share` | 广告类型 |
|
||||
| `gx` / `gxd` | `RnAonzoTNmGdh8lR5Q` / `...` | 京东内部追踪参数 |
|
||||
|
||||
---
|
||||
|
||||
## 三、完整 URL(脚本实际使用)
|
||||
|
||||
```
|
||||
https://pro.m.jd.com/mall/active/3Rja7L2jmC72Ta8eoa31VFDvaAjf/index.html
|
||||
?pageParamMiddle=judicature_search_middle
|
||||
&pageParam=judicature_icon_search_after
|
||||
&pageFrom=judicature_search_home
|
||||
&tabParam=all
|
||||
&fixSearchParams=false
|
||||
&navh=49
|
||||
&stath=33
|
||||
&tttparams=<base64编码的位置信息>
|
||||
&spo_lng=114.01689
|
||||
&spo_lbsEffect=2
|
||||
&spo_reqSource=1
|
||||
&spo_multiThirdCateIds=15
|
||||
&spo_lat=22.599037
|
||||
&spo_keyword=塘厦
|
||||
&spo_sortField=11
|
||||
```
|
||||
|
||||
> ⚠️ `tttparams`、`spo_lat`、`spo_lng` 等位置参数影响搜索结果范围。早期使用最小 URL 时会漏掉部分房源(如塘厦搜索漏掉 51 条)。
|
||||
|
||||
### 可替换的变量
|
||||
|
||||
| 变量 | 替换示例 | 说明 |
|
||||
|------|----------|------|
|
||||
| `spo_keyword` | `塘厦` → `长安` | 搜索其他镇/区域 |
|
||||
| `spo_sortField` | `11`(最新) → 其他值 | 排序方式 |
|
||||
| `spo_multiThirdCateIds` | `15`(法拍房) → 其他 | 法拍类目 |
|
||||
|
||||
---
|
||||
|
||||
## 四、排序字段 `spo_sortField` 已知值
|
||||
|
||||
| 值 | 排序方式 |
|
||||
|----|----------|
|
||||
| `11` | 按最新发布排序 |
|
||||
| 其他值待补充 | — |
|
||||
|
||||
---
|
||||
|
||||
## 五、底层 API 接口
|
||||
|
||||
页面通过 JavaScript 动态加载数据,但**第一页数据通过 SSR 内嵌在 HTML 的 `<script>` 标签中**,不经过 API 调用。API 只负责 page 2 及之后的加载。
|
||||
|
||||
### 数据来源
|
||||
|
||||
| 来源 | 范围 | 获取方式 |
|
||||
|------|------|----------|
|
||||
| SSR 内嵌数据 | page 1(约 40 条) | 页面加载后从 `<script>` 标签解析 JSON |
|
||||
| `getSearchData` API | page 2+ | `page.on("response")` 拦截 API 响应 |
|
||||
| `getPaimaiCurrentInfoByIdsForApi` | 全部 | 实时拍卖状态(当前价、出价、围观) |
|
||||
| `getAuctionLabelConfigs` | 部分可见项 | 拍卖标签(一拍、二拍、变卖等) |
|
||||
|
||||
> ⚠️ 如果只拦截 API 响应而不提取 SSR 数据,会漏掉 page 1 的全部房源(包括最新发布的房源)。
|
||||
|
||||
### API 请求格式
|
||||
|
||||
```
|
||||
POST https://api.m.jd.com/api?appid=paimai&functionId=getSearchData&loginType=2
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
|
||||
body=<URL编码的JSON>
|
||||
```
|
||||
|
||||
> ⚠️ API 有风险控制(`shieldResult.intercept: true`),直接调用返回 "no access"。需通过浏览器渲染执行风险验证后方可获取数据。
|
||||
|
||||
### getSearchData 响应字段
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `paimaiId` | int | 拍卖 ID(唯一标识) |
|
||||
| `skuId` | int | 商品 SKU ID |
|
||||
| `title` | string | 房源标题/地址 |
|
||||
| `startPrice` | float | 起拍价(元) |
|
||||
| `currentPrice` | float | 当前价(元) |
|
||||
| `currentPriceCN` | string | 当前价(中文,如"125.8945万") |
|
||||
| `discountRate` | float | 折扣率 |
|
||||
| `paimaiStatus` | int | 拍卖状态:0=未开始, 1=进行中, 2=已结束, 3=已撤回 |
|
||||
| `auctionType` | int | 拍卖类型:5=司法拍卖 |
|
||||
| `location` | array | 位置信息 |
|
||||
| `houseAttributes` | object | 房产属性(见下表) |
|
||||
| `productImage` | string | 图片路径(CDN) |
|
||||
|
||||
### houseAttributes 子字段
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `houseTypeInfo` | string | 户型(如"4室1厅1卫") |
|
||||
| `housePurpose` | string | 用途(如"住宅") |
|
||||
| `houseArea` | float | 面积(㎡) |
|
||||
| `plotName` | string | 小区名称 |
|
||||
| `averagePrice` | string | 均价(如"8254.40元/平") |
|
||||
| `houseFloorInfo` | int | 楼层信息 |
|
||||
| `houseEmpty` | int | 是否空置 |
|
||||
| `houseCertificate` | int | 权属证书类型 |
|
||||
| `houseLease` | int | 租赁情况 |
|
||||
@@ -369,3 +369,4 @@ article = scrape_article("gov.cn", url) # 返回 [{text}, ...]
|
||||
## 9. 一句话调用
|
||||
|
||||
> 「运行政策雷达,搜索{关键词/时间范围},抓取政策原文,按四步法解读,输出 policy-analysis.md。」
|
||||
|
||||
|
||||
@@ -630,3 +630,4 @@ def scrape_article(site_key, url):
|
||||
if not scraper:
|
||||
return {"title": "", "date": "", "url": url, "content": ""}
|
||||
return scraper["article"](url)
|
||||
|
||||
|
||||
+10
-6
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: L1 · 万师傅业务本质(根级业务知识)
|
||||
source_status: 2026-07-31 业务方访谈确认收入模式、总包/KA 商业关系、核心矛盾表述;仅 §8 状态机一处待补
|
||||
source_status: 2026-07-31 业务方访谈确认收入模式、总包/KA 商业关系、核心矛盾表述;仅 §8 状态机一处待补。2026-09-07 订正 §7:KA 与总包非绝对关联,部分 KA 直接下单
|
||||
level: L1(根级)
|
||||
usage: 设计为常驻上下文,可整份放入 system prompt
|
||||
---
|
||||
@@ -72,10 +72,13 @@ usage: 设计为常驻上下文,可整份放入 system prompt
|
||||
## 7. 需求侧有三种结构,付钱的和被服务的可以是不同人
|
||||
|
||||
- **TOC(家庭)**:下单方 = 付款方 = 服务对象,都是家庭用户本人
|
||||
- **TOB(商家/企业)**:下单方和付款方是商家,**服务对象是商家的终端客户**——终端客户从未在平台下单、也不付钱
|
||||
- **总包 / KA**:见下
|
||||
- **TOB(商家/企业)**:下单方和付款方是商家,**服务对象是商家的终端客户**——终端客户从未在平台下单、也不付钱。其中单量较大的客户称为 **KA(大客户)**
|
||||
- **总包**:见下
|
||||
|
||||
**KA 用户**(大客户)不直接在平台下单,而是与**总包**签订价格协议。资金与服务链条是三跳:
|
||||
**总包**是一类中间商:与 KA 签协议价、再以平台价向平台下单。需注意 **KA ≠ 总包,二者并非绝对关联**:
|
||||
KA 只是"TOB 中单量较大的客户",并不必然走总包——有的 KA 与总包签价格协议、由总包代为下单(见下方资金链);也有 KA 直接在平台下单,不经总包。总包是"部分 KA 的下单渠道",不是 KA 的定义属性。
|
||||
|
||||
当 KA 经总包下单时,资金与服务链条是三跳:
|
||||
|
||||
```
|
||||
KA 用户 ──协议价(可月结)──▶ 总包 ──平台价──▶ 平台 ──抽佣后结算──▶ 师傅
|
||||
@@ -84,8 +87,8 @@ KA 用户 ──协议价(可月结)──▶ 总包 ──平台价──
|
||||
**总包的收入 = 协议价 − 平台价的差价。** 注意方向:是**总包付钱给平台**,不是平台付钱给总包——
|
||||
总包本质是"买平台服务能力、加价卖给 KA"的中间商,不是平台的外包供应商。
|
||||
|
||||
由此:售后纠纷中"客户"指谁必须先分清是哪种结构,否则责任判定、赔付对象、验收方全会认错人;
|
||||
KA 月结带来的资金周转压力,也是平台需要向总包提供**授信**的原因。
|
||||
由此:售后纠纷中"客户"指谁必须先分清是哪种结构(TOC / TOB 直单 / KA 经总包 / KA 直单),否则责任判定、赔付对象、验收方全会认错人;
|
||||
KA 月结带来的资金周转压力,也是平台需要向(经总包下单的)KA 对应的**总包**提供**授信**的原因。
|
||||
|
||||
## 8. 订单生命周期主干
|
||||
|
||||
@@ -119,6 +122,7 @@ KA 月结带来的资金周转压力,也是平台需要向总包提供**授信
|
||||
| 内容 | 来源 |
|
||||
|---|---|
|
||||
| §4 收入模式、§5 非标性、§7 总包/KA 商业关系 | **业务方访谈,2026-07-31** |
|
||||
| §7 订正:KA 与总包非绝对关联、部分 KA 直单 | 用户订正,2026-09-07 |
|
||||
| §9 治理边界 | 客服SOP合集《申诉工单处理流程》(免责次数/申诉机制)+《新师傅0-3单第1个售后工单从轻处理流程》,反推归纳 |
|
||||
| §1 双边平台、§3 自主经营 | 官网("让用户自主选择,让师傅自主经营")+ 客服SOP《第1章师傅入驻要求》《第12章产品规则说明》 |
|
||||
| §2 报价招标 / 一口价 | 官网《如何找师傅》 |
|
||||
|
||||
Reference in New Issue
Block a user