Files
mama-box/tools/qa-retitle-1106.py
deploy 3c01e3ae8a v26110601 孕期百问 47 条宽泛标题改垂类标题;一句话答案/摘要改为直接回答;12 页补新内容;重出转发图
- hot.json 47 条 q/a,专题页 title/q/大标题/一句话答案,topic/_shared/idx.json,app.js QA_KW 26 个键同步
- NT、贫血、妊糖、感冒发烧、护肤、头晕、羊水、产前抑郁、运动、顺产剖宫、待产包、失眠 12 页在「记住这 3 点」后插一节新内容 + 参考来源
- 转发图清单重生成,47 张转发图重出(职场核心词改「调岗降薪」)
- 改动脚本 tools/qa-retitle-1106.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 01:16:07 +00:00

246 lines
27 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-11-06 用户:孕期百问 47 条宽泛标题改成垂类标题(清单见 research/孕期百问_垂类优化与新增100.md「🔴 建议改」)。
# 一次改齐:hot.json 的 q / a、专题页 <title> / q / 大标题 / 一句话答案、topic/_shared/idx.json、js/app.js 的 QA_KW 键;
# 其中 12 页新标题问到的点原页面没有,在「记住这 3 点」后面插一节新内容(NEW)。跑完再 node tools/share-card/build.js 重出转发图清单。
import json, re, html
R = '/work/mama-box/'
# slug: (新标题, 大标题分段[第 3 段高亮], 一句话答案)
E = {
'buji': ('叶酸吃到几个月能停?钙、铁、DHA 从几周开始补?', None,
'<em>叶酸</em>至少吃到孕 3 个月,很多医生建议吃满整个孕期;钙、铁从<em>孕中期</em>起重点补,DHA 先靠每周吃 2~3 次鱼。'),
'wen': ('妊娠纹是长太快撑出来的吗?涂油到底有没有用?', None,
'长太快确实更容易长纹;涂油主要是润滑、方便按摩,<em>防纹靠不住</em>,控体重、早保湿更实在。'),
'zhichang': ('孕期被调岗、降薪,公司这样做合法吗?', None,
'单方面因为怀孕给你<em>降薪、调岗、辞退</em>都不合法;调岗降薪须<em>协商一致、书面确认</em>。'),
'tizhong': ('孕前偏瘦、正常、偏胖,整个孕期各该长几斤?', ['孕前胖瘦不同', '\n', '各该长几斤', '?'],
'按孕前 BMI 定:偏瘦 <em>11~16kg</em>、正常 <em>8~14kg</em>、超重 <em>7~11kg</em>、肥胖 <em>5~9kg</em>。'),
'kafei': ('孕期一天一杯美式,咖啡因算超标吗?', ['一天一杯美式', '\n', '咖啡因', '算超标吗?'],
'一杯中杯美式<em>一般不超标</em>:咖啡因每天<em>不超过 200mg</em>,奶茶、浓茶、可乐也要一起算。'),
'chongwu': ('家里养了猫,怀孕要送走吗?弓形虫怎么查?', ['家里养了猫', '\n', '要送走', '吗?'],
'<em>不用送走</em>:室内只吃猫粮的猫风险很低,<em>铲屎交给家人</em>;弓形虫抽血查<em>抗体</em>就知道。'),
'chuxing': ('孕多少周后航空公司不让登机?要开什么证明?', ['孕多少周', '\n', '不让登机', '?'],
'一般 <em>32 周</em>前正常坐;<em>32~36 周</em>要带医院开的适宜乘机证明;<em>36 周</em>后多数航司不让登机。'),
'yundong': ('孕前一直在健身、跑步,怀孕后还能接着练吗?', ['孕前在健身跑步', '\n', '还能接着练', '吗?'],
'没有禁忌<em>一般可以接着练</em>,但要<em>降强度</em>:以边练还能说话为度,别憋气、别平躺太久。'),
'fenmian': ('哪些情况医生会建议直接剖?顺转剖的多吗?', ['哪些情况', '\n', '要直接剖', '?'],
'胎位不正、前置胎盘、头盆不称等会<em>直接剖</em>;准备顺产的<em>多数能顺利生</em>,少部分会中途转剖。'),
'daichanbao': ('待产包里哪些医院会发,不用自己带?', ['待产包', '\n', '哪些医院会发', '?'],
'病号服、护理垫、宝宝住院穿的衣服<em>多数医院会给</em>;一次性内裤、纸尿裤等<em>各院不同,提前问</em>。'),
'shimian': ('孕期半夜醒了就再也睡不着,怎么办?', ['半夜醒了', '\n', '再也睡不着', '怎么办?'],
'<em>别看手机、别盯时间</em>;躺 20 分钟还睡不着就<em>起来坐坐</em>,困了再回床。'),
'bianmi': ('吃了补铁剂便秘更严重,怎么办?', ['吃了补铁剂', '\n', '便秘更严重', '怎么办?'],
'<em>别自己停铁剂</em>,先多喝水、多吃膳食纤维、多走动;还不行产检时<em>请医生调整</em>。'),
'tongfang': ('孕中期同房后肚子发紧、有点出血,要紧吗?', ['同房后', '\n', '发紧、出血', '要紧吗?'],
'短暂发紧、休息后就好<em>多半没事</em>;<em>出血、流液、持续腹痛</em>要及时去医院。'),
'qingxu': ('孕期动不动就想哭,是产前抑郁吗?怎么自测?', ['动不动就想哭', '\n', '是产前抑郁', '吗?'],
'爱哭<em>不等于抑郁</em>;可以用 <em>EPDS 量表</em>自测,低落<em>超过 2 周</em>要告诉医生。'),
'zhunbaba': ('孕晚期准爸爸要提前学会哪几件事?', ['孕晚期', '\n', '准爸爸', '要学会什么?'],
'<em>认临产信号、熟悉去医院路线</em>,学会<em>数胎动、换尿布、拍嗝</em>,电话随时畅通。'),
'nt': ('NT 值 2.5mm 算高吗?多少要进一步检查?', ['NT 值', '\n', '2.5mm', '算高吗?'],
'<em>2.5mm 多在正常范围</em>,但接近关注线;一般 <em>≥3.0mm</em> 算增厚,医生会建议进一步检查。'),
'tangnai': ('糖耐三个值只超了一个,算妊娠糖尿病吗?', ['糖耐', '\n', '只超了一个', '算吗?'],
'<em>算</em>。空腹、1 小时、2 小时<em>任一项</em>达到或超过标准,就诊断为妊娠期糖尿病。'),
'taixin': ('胎心监护 20 分钟没过,是宝宝有问题吗?', ['胎心监护', '\n', '20 分钟没过', '要紧吗?'],
'<em>不一定</em>:宝宝睡着、妈妈空腹都可能「无反应」,吃点东西、<em>延长到 40 分钟</em>再看。'),
'choujin': ('补了钙还是半夜腿抽筋,还可能是什么原因?', ['补了钙', '\n', '还抽筋', '为什么?'],
'缺钙只是原因之一,<em>腿累、受凉、血液回流慢</em>更常见;睡前拉伸小腿、给腿保暖。'),
'shuizhong': ('腿一按一个坑,水肿到什么程度要警惕?', ['腿一按一个坑', '\n', '水肿', '要警惕吗?'],
'按下小坑<em>很快回弹</em>多是轻度;<em>坑久不回、脸手也肿</em>或血压高,要尽快看医生。'),
'pinxue': ('血红蛋白 105 算贫血吗?补铁多久能补上来?', ['血红蛋白', '\n', '105', '算贫血吗?'],
'<em>算,属于轻度贫血</em>(低于 110 就算);按医嘱补铁,一般 <em>2 周</em>开始回升。'),
'yaotong': ('腰酸背痛,托腹带有用吗?从几周开始用?', ['腰酸背痛', '\n', '托腹带', '有用吗?'],
'肚子大、腰酸明显时<em>短时用</em>能减负,<em>别整天绑</em>;根本还是<em>改姿势 + 适度运动</em>。'),
'rentangbing': ('确诊妊糖后,一天测几次血糖?控制在多少?', ['确诊妊糖后', '\n', '一天测几次', '血糖?'],
'刚确诊或没控好时每天测 <em>4~7 次</em>;目标空腹 <em>低于 5.3</em>、餐后 2 小时 <em>低于 6.7</em>。'),
'gaoxueya': ('产检血压 140/90,是妊娠高血压吗?', ['产检血压', '\n', '140/90', '是妊高吗?'],
'同一只手臂<em>两次</em>测得 <em>≥140/90</em> 就要按血压高管理;到 <em>160/110</em> 或头痛眼花,马上去医院。'),
'baidai': ('白带发黄、有异味,是阴道炎吗?能用药吗?', ['白带发黄', '\n', '有异味', '是阴道炎吗?'],
'<em>可能是</em>,要去医院查白带分清类型;孕期<em>能用药</em>,但别自己买,<em>听医生的</em>。'),
'ganmao': ('孕期烧到 38.5℃,能吃对乙酰氨基酚吗?', ['烧到 38.5℃', '\n', '对乙酰氨基酚', '能吃吗?'],
'<em>能</em>,它是孕期退烧<em>首选</em>:选单一成分、按说明书剂量;<em>布洛芬别自己吃</em>,烧不退要就医。'),
'haixian': ('孕期吃三文鱼刺身、生蚝安全吗?', ['三文鱼刺身', '\n', '生蚝', '能吃吗?'],
'<em>生的别吃</em>,容易感染寄生虫和细菌;三文鱼、生蚝<em>做熟了放心吃</em>。'),
'hufu': ('孕期要避开哪些成分?水杨酸、视黄醇能用吗?', ['孕期护肤', '\n', '水杨酸、视黄醇', '能用吗?'],
'<em>视黄醇等维 A 酸类全停</em>;水杨酸<em>低浓度小面积</em>可以,<em>高浓度刷酸</em>等产后。'),
'kaiche': ('孕晚期还能自己开车吗?安全带该怎么系?', ['孕晚期', '\n', '还能开车', '吗?'],
'身体舒服<em>可以短途开</em>,安全带腰带<em>压在肚子下方</em>;肚子顶到方向盘、临产别自己开。'),
'taijiao': ('胎教音乐要贴着肚子放吗?每天放多久?', ['胎教音乐', '\n', '要贴着肚子', '放吗?'],
'<em>不要贴着肚子</em>,外放、音量像说话就行;每天<em>一两次、每次 10~20 分钟</em>足够。'),
'taiwei': ('32 周还是臀位,还有机会转过来吗?', ['32 周', '\n', '还是臀位', '能转吗?'],
'<em>还有机会</em>,不少宝宝 32~36 周还会转;<em>36~37 周</em>仍是臀位,医生会评估外倒转或剖宫产。'),
'linchan': ('宫缩几分钟一次,就该去医院了?', ['宫缩', '\n', '几分钟一次', '去医院?'],
'头胎规律宫缩<em>约 5 分钟一次</em>、持续 1 小时左右就出发;<em>经产妇一规律就走</em>,破水马上去。'),
'yuezi': ('坐月子真的不能洗头、洗澡吗?', ['坐月子', '\n', '不能洗头洗澡', '吗?'],
'<em>能洗</em>:淋浴为主、水温合适、<em>洗完马上擦干吹干</em>;剖宫产等伤口愈合再洗。'),
'taiya': ('孕 7 周还没看到胎心,是胎停了吗?', ['孕 7 周', '\n', '没看到胎心', '是胎停吗?'],
'<em>不一定</em>:排卵晚了孕周会偏小,一般 <em>1~2 周后复查</em>,一次 B 超不下结论。'),
'yuchanqi': ('月经不规律,预产期按什么算?', ['月经不规律', '\n', '预产期', '按什么算?'],
'以<em>早孕 B 超</em>(最好 11~13+6 周量的头臀长)为准;试管的按<em>移植日</em>算。'),
'jikou': ('山楂、薏米、桂圆,孕早期真的不能吃吗?', ['山楂薏米桂圆', '\n', '孕早期', '真不能吃?'],
'<em>能吃</em>,导致流产的说法没有可靠依据,<em>煮熟、适量</em>就行;真要躲的是<em>酒和生食</em>。'),
'shuangtai': ('双胞胎是单绒还是双绒,差别有多大?', ['双胞胎', '\n', '单绒还是双绒', '差别多大?'],
'差别很大:<em>单绒</em>共用一个胎盘,风险更高,<em>16 周起约 2 周一次 B 超</em>;双绒相对少些。'),
'bugai': ('每天喝两杯牛奶,还需要额外吃钙片吗?', ['每天两杯奶', '\n', '还要吃钙片', '吗?'],
'每天<em>300~500g 奶</em>再加豆制品、绿叶菜,<em>多数不用</em>额外吃钙片;喝不够再补。'),
'touyun': ('蹲下站起来眼前发黑,是贫血还是低血压?', ['站起来', '\n', '眼前发黑', '是贫血吗?'],
'多半是<em>起身太快、血压一时跟不上</em>;整天乏力、脸色白才更像贫血,<em>查个血常规</em>就清楚。'),
'raojing': ('B 超提示脐带绕颈一周,还能顺产吗?', ['脐带绕颈一周', '\n', '还能顺产', '吗?'],
'<em>多数能顺产</em>,绕颈一周很常见;关键是<em>每天数胎动、按时产检</em>,产时有胎心监护。'),
'yangshui': ('羊水指数 6 偏少,多喝水有用吗?', ['羊水指数 6', '\n', '多喝水', '有用吗?'],
'<em>有一点用</em>:单纯偏少时多喝水,羊水可能短期回升;但要<em>按时复查</em>,查清原因。'),
'yuesao': ('面试月嫂,一定要问哪几个问题?', ['面试月嫂', '\n', '要问', '哪几个问题?'],
'问<em>带过几个宝宝、夜里怎么带、喂养怎么教</em>,再<em>看证件、看实操</em>,合同写清能换人。'),
'yongpin': ('新生儿衣服买 59 码还是 66 码?买几件够?', ['新生儿衣服', '\n', '59 还是 66', '买几件?'],
'<em>59 码为主</em>(66 码留着后面穿),按季节备 <em>4~6 套</em>,先少买、生了再补。'),
'poshui': ('是破水还是漏尿?破水要躺着去医院吗?', ['破水还是漏尿', '\n', '要躺着去', '吗?'],
'羊水<em>稀得像水、憋不住</em>,尿能憋住;破水后<em>尽量躺着去</em>医院,记下时间和颜色。'),
'cuichan': ('催产素、水囊、人工破膜有什么区别?哪个更疼?', ['催产素、水囊', '\n', '人工破膜', '哪个更疼?'],
'水囊和药是<em>促宫颈成熟</em>,人工破膜和缩宫素是<em>让宫缩起来</em>;疼主要是宫缩疼,<em>可以打无痛</em>。'),
'kainai': ('生完头两天没奶,宝宝会饿着吗?要不要加奶粉?', ['生完没奶', '\n', '宝宝会饿着', '吗?'],
'<em>一般不会</em>:头几天初乳量少但够用,<em>多让宝宝吸</em>;要不要加奶粉<em>由医生判断</em>。'),
'chusheng': ('新生儿足跟血、听力筛查没通过,怎么办?', ['足跟血、听力', '\n', '没通过', '怎么办?'],
'<em>先别慌</em>:没通过是要复查,不等于确诊;<em>按通知时间复筛</em>,听力初筛不过很常见。'),
}
# 12 页新增一节:插在「记住这 3 点」之后(sections 第 1 位),附一条参考来源
NEW = {
'yundong': ({"type": "list", "title": "孕前就在练的,怎么接着练", "en": "KEEP GOING", "key": "能接着练,降强度、换动作。", "tint": True, "items": [
{"tag": "可以", "tone": "ok", "b": "跑步:常跑的可以接着跑", "s": "降配速、缩距离,以边跑还能说话为度;肚子大了改快走"},
{"tag": "可以", "tone": "ok", "b": "力量训练:减重量、加次数", "s": "别憋气发力,换成呼气时用力"},
{"tag": "注意", "tone": "warn", "b": "孕 16 周后少做仰卧动作", "s": "仰卧推举、卷腹改成坐姿或侧卧版本"},
{"tag": "注意", "tone": "warn", "b": "把运动量告诉产检医生", "s": "前置胎盘、宫颈短等情况要按医生说的减量或停"},
{"tag": "别做", "tone": "no", "b": "对抗、易摔、冲击大的", "s": "拳击、篮球、滑雪、骑马、高温瑜伽先停"},
{"tag": "停下", "tone": "no", "b": "出血、流液、规律宫缩", "s": "或头晕胸痛、小腿肿痛,停下并就医"}]},
'ACOG《Physical Activity and Exercise During Pregnancy and the Postpartum Period》(2020):孕前规律进行高强度有氧运动(如跑步)的孕妇,无禁忌时孕期可在医生评估下继续,并避免仰卧位过久、对抗与易跌倒运动'),
'fenmian': ({"type": "list", "title": "顺转剖,多半是这几个原因", "en": "WHY SWITCH", "key": "大多数能顺利生,转剖是为了安全。", "tint": True, "items": [
{"tag": "常见", "tone": "warn", "b": "产程停滞", "s": "宫口长时间不开,或宝宝的头迟迟不下降"},
{"tag": "常见", "tone": "warn", "b": "胎心异常", "s": "监护提示宝宝可能缺氧,需要尽快娩出"},
{"tag": "常见", "tone": "warn", "b": "头盆不称、胎位异常", "s": "产程中才发现宝宝的头和骨盆不匹配,或胎头位置不对"},
{"tag": "少见", "tone": "no", "b": "出血、脐带脱垂等急症", "s": "医生会马上处理,不用自己判断"},
{"tag": "安心", "tone": "ok", "b": "打了无痛也不白打", "s": "转剖时麻醉管通常可以直接用来加药"}]},
'中华医学会妇产科学分会《剖宫产手术的专家共识(2014)》:剖宫产指征包括胎儿窘迫、头盆不称、产程停滞、胎位异常等'),
'daichanbao': ({"type": "list", "title": "哪些医院会发", "en": "FROM HOSPITAL", "key": "各院不一样,以医院清单为准。", "tint": True, "items": [
{"tag": "会给", "tone": "ok", "b": "病号服、床品", "s": "入院就会发,不用自己带睡衣"},
{"tag": "会给", "tone": "ok", "b": "产妇护理垫(少量)", "s": "产后头一两天用得多,可以自己再备一包"},
{"tag": "会给", "tone": "ok", "b": "宝宝住院期间的衣服、包被", "s": "出院那套要自己带"},
{"tag": "问问", "tone": "warn", "b": "一次性内裤、产妇卫生巾", "s": "有的发、有的收费、有的不给"},
{"tag": "问问", "tone": "warn", "b": "新生儿纸尿裤、奶瓶", "s": "母婴同室的医院有的会给几片"},
{"tag": "自带", "tone": "no", "b": "证件、拖鞋、洗漱、吸管杯", "s": "还有哺乳内衣、出院衣服、安全座椅"}]},
'各地医院产科住院须知(发放物品以所在医院为准)'),
'shimian': ({"type": "steps", "title": "半夜醒了,这样做", "en": "AT 3 AM", "key": "别跟失眠较劲,先让身体放松。", "tint": True, "items": [
{"b": "别看时间、别刷手机", "s": "屏幕的光和「还剩几小时」的焦虑都会让人更清醒"},
{"b": "要上厕所就去,灯开小一点", "s": "憋着更睡不着,回来侧躺、抱好孕妇枕"},
{"b": "躺 20 分钟还睡不着,就起来", "s": "去客厅坐坐,看纸质书、听舒缓音频,困了再回床"},
{"b": "饿醒的,睡前吃一小份", "s": "一杯奶或几片苏打饼干,别吃太饱"},
{"b": "心里有事,就写下来", "s": "把担心的事记在纸上,告诉自己明天再想"},
{"b": "白天午睡别太长", "s": "控制在 30 分钟~1 小时,晚上更容易睡"}]},
'美国睡眠医学会失眠认知行为治疗(CBT-I)刺激控制法:卧床约 20 分钟仍无法入睡时离床,有睡意再回床'),
'qingxu': ({"type": "list", "title": "爱哭,还是产前抑郁?", "en": "SELF CHECK", "key": "看持续多久,也看影不影响生活。", "tint": True, "items": [
{"tag": "正常", "tone": "ok", "b": "哭完能缓过来", "s": "还能吃能睡、对事情有兴趣,多是激素引起的情绪波动"},
{"tag": "自测", "tone": "warn", "b": "用 EPDS(爱丁堡抑郁量表)", "s": "10 道题,问过去 7 天的感受;总分 ≥10 分建议找医生聊聊,≥13 分要尽快就诊"},
{"tag": "留意", "tone": "warn", "b": "超过 2 周、几乎每天都这样", "s": "低落、没兴趣、睡不好吃不下、觉得自己没用"},
{"tag": "就诊", "tone": "ok", "b": "先告诉产检医生", "s": "很多医院有孕产期心理门诊,建档时也常让做量表"},
{"tag": "求助", "tone": "no", "b": "有伤害自己的念头", "s": "不管分数多少,立刻告诉家人并就医;心理援助热线 12356"}]},
'中国妇幼保健协会等《孕产妇心理健康管理专家共识(2019)》:推荐使用爱丁堡产后抑郁量表(EPDS)进行孕产期抑郁筛查;国家卫健委 12356 心理援助热线'),
'nt': ({"type": "list", "title": "NT 数值怎么看", "en": "THE NUMBER", "key": "看数值,也要看孕周和综合风险。", "tint": True, "items": [
{"tag": "正常", "tone": "ok", "b": "低于 2.5mm", "s": "多在正常范围,照常做唐筛或无创、大排畸"},
{"tag": "临界", "tone": "warn", "b": "2.5~3.0mm", "s": "接近关注线,很多医院会结合早期血清筛查或建议做无创 DNA"},
{"tag": "增厚", "tone": "no", "b": "3.0mm 及以上", "s": "一般视为增厚,医生通常建议做绒毛或羊水穿刺,并加做胎儿心脏超声"},
{"tag": "注意", "tone": "warn", "b": "同一个数,孕周不同意义不同", "s": "正常值随头臀长变大,以报告单和医生解读为准"}]},
'中华医学会妇产科学分会《孕前和孕期保健指南(2018)》及产前超声相关共识:NT ≥3.0mm 为增厚,建议进行产前诊断及胎儿超声心动图检查'),
'pinxue': ({"type": "list", "title": "105 算什么程度?补多久?", "en": "HOW LONG", "key": "轻度贫血,按医嘱补,2 周看效果。", "tint": True, "items": [
{"tag": "分级", "tone": "warn", "b": "100~109 轻度,70~99 中度", "s": "低于 70 是重度;105 属于轻度贫血"},
{"tag": "2 周", "tone": "ok", "b": "吃铁剂约 2 周开始回升", "s": "一般 2 周能升约 10g/L,3~4 周升约 20g/L"},
{"tag": "别停", "tone": "warn", "b": "补正常了也别马上停", "s": "恢复后通常还要吃 3~6 个月或到产后 3 个月,把储备铁补上"},
{"tag": "复查", "tone": "no", "b": "2 周复查没升", "s": "可能吃法不对(和钙、茶同服)或不是缺铁,医生会查原因,必要时改静脉补铁"}]},
'中华医学会围产医学分会《妊娠期铁缺乏和缺铁性贫血诊治指南(2014)》:Hb 100~109g/L 为轻度贫血;口服铁剂 2 周后 Hb 应上升,Hb 恢复正常后继续口服铁剂 3~6 个月或至产后 3 个月'),
'rentangbing': ({"type": "list", "title": "一天测几次、什么时候测", "en": "MONITOR", "key": "刚确诊测得勤,控住了再减。", "tint": True, "items": [
{"tag": "初诊", "tone": "warn", "b": "每天 4~7 次", "s": "空腹 + 三餐后(1 或 2 小时),必要时加三餐前和睡前"},
{"tag": "达标", "tone": "ok", "b": "每周挑 1~2 天测", "s": "饮食运动就能达标的,测空腹 + 三餐后 2 小时,频率听医生安排"},
{"tag": "用药", "tone": "warn", "b": "按医生方案多点监测", "s": "调剂量全靠这些数,别漏测"},
{"tag": "计时", "tone": "ok", "b": "餐后从吃第一口算起", "s": "不是从吃完算"},
{"tag": "当心", "tone": "no", "b": "夜里不低于 3.3", "s": "心慌、出冷汗先吃点东西,测一下告诉医生"}]},
'中华医学会妇产科学分会等《妊娠期高血糖诊治指南(2022)》:新诊断或血糖不达标、使用胰岛素者每日监测 4~7 次;饮食运动控制达标者每周至少监测 1 天空腹及三餐后血糖'),
'ganmao': ({"type": "list", "title": "退烧药怎么吃", "en": "FEVER", "key": "对乙酰氨基酚是首选,别硬扛。", "tint": True, "items": [
{"tag": "可以", "tone": "ok", "b": "对乙酰氨基酚", "s": "孕期公认首选的退烧药;选单一成分的,按说明书剂量,两次间隔 4~6 小时,短期用"},
{"tag": "别吃", "tone": "no", "b": "布洛芬、阿司匹林", "s": "尤其孕 20 周后,要用必须医生开"},
{"tag": "别吃", "tone": "no", "b": "复方感冒药", "s": "一片里好几种成分,容易重复吃超量"},
{"tag": "就医", "tone": "warn", "b": "38.5℃ 以上或 24 小时不退", "s": "或伴寒战、咳喘、尿痛、宫缩、胎动异常"},
{"tag": "就医", "tone": "warn", "b": "怀疑流感", "s": "发病 48 小时内用抗病毒药效果最好,尽早去医院"}]},
'ACOG《Treatment of Fever in Pregnancy》:对乙酰氨基酚为孕期退热首选;美国 FDA(2020):孕 20 周后避免使用非甾体抗炎药(如布洛芬)'),
'hufu': ({"type": "list", "title": "水杨酸、视黄醇能不能用", "en": "INGREDIENTS", "key": "看成分表,比看「孕妇专用」管用。", "tint": True, "items": [
{"tag": "可以", "tone": "ok", "b": "低浓度水杨酸", "s": "洗面奶、爽肤水里 2% 以下、小面积用,一般没问题"},
{"tag": "先停", "tone": "no", "b": "高浓度刷酸、化学焕肤", "s": "大面积、高浓度的水杨酸或果酸换肤,等产后"},
{"tag": "全停", "tone": "no", "b": "视黄醇、A 醇、维 A 酸", "s": "外用的也停;口服异维 A 酸绝对禁止"},
{"tag": "替代", "tone": "ok", "b": "壬二酸、烟酰胺、维 C", "s": "控痘、提亮可以用这些"},
{"tag": "识别", "tone": "warn", "b": "成分表这样认", "s": "Salicylic Acid 水杨酸,Retinol 视黄醇,Retinal 视黄醛,Hydroquinone 氢醌"}]},
'ACOG《Skin Conditions During Pregnancy》:孕期避免使用维 A 酸类;低浓度外用水杨酸可用,避免高浓度化学换肤'),
'touyun': ({"type": "list", "title": "站起来眼前发黑,是怎么回事", "en": "STAND UP", "key": "多半是起身太快,先学会慢慢起。", "tint": True, "items": [
{"tag": "多见", "tone": "ok", "b": "体位性低血压", "s": "孕期血管扩张、血压偏低,起身太快血液一时到不了脑子,几秒就缓过来"},
{"tag": "贫血", "tone": "warn", "b": "整天乏力、脸色白、一动就心慌", "s": "不只是起身那一下;查个血常规就分清了"},
{"tag": "起身", "tone": "ok", "b": "先坐起 → 腿垂下停一会 → 扶着站", "s": "蹲久了也要扶着慢慢起"},
{"tag": "平时", "tone": "ok", "b": "别空腹太久、多喝水", "s": "别长时间站着不动,洗澡水别太热"},
{"tag": "就医", "tone": "no", "b": "真的晕倒、胸痛、心慌不缓", "s": "或伴出血、腹痛,马上就医"}]},
'ACOG 患者教育资料:孕期血管扩张可致体位性低血压,建议缓慢变换体位、补足水分'),
'yangshui': ({"type": "list", "title": "AFI 6,多喝水有用吗", "en": "DRINK MORE?", "key": "可以多喝,但复查和找原因更重要。", "tint": True, "items": [
{"tag": "读数", "tone": "warn", "b": "AFI 6 属于偏少、临界", "s": "一般 AFI ≤5cm(或最大羊水池 ≤2cm)才算羊水过少"},
{"tag": "有用", "tone": "ok", "b": "每天多喝约 2L 水", "s": "单纯偏少、宝宝和胎盘都好的,有研究显示羊水指数短期能回升一点"},
{"tag": "没用", "tone": "no", "b": "破水、胎盘功能差、宝宝长得慢", "s": "这些喝水解决不了,医生会按原因处理"},
{"tag": "要做", "tone": "warn", "b": "按时复查、每天数胎动", "s": "胎动减少、下面流水要马上去医院"},
{"tag": "注意", "tone": "no", "b": "医生让控水的", "s": "有心脏病、高血压等情况,喝多少先问医生"}]},
'Cochrane 系统评价《Maternal hydration for increasing amniotic fluid volume in oligohydramnios》:单纯羊水过少时母体补液可短期增加羊水量;ACOG 将 AFI ≤5cm 或最大羊水池 ≤2cm 定义为羊水过少'),
}
def plain(h): return html.unescape(re.sub(r'<[^>]+>', '', h))
hot_p = R + 'assets/data/qa/hot.json'
hot = json.load(open(hot_p))
old = {}
for x in hot:
slug = x['href'].split('/')[1] if x.get('href') else ''
if slug not in E: continue
q, _, ans = E[slug]
old[slug] = x['q']
lead = plain(ans)
# 短摘要(与页面一句话答案同文)直接换;长摘要在前面加上直接回答新标题的一句
x['a'] = lead if len(x['a']) < 80 else lead + x['a']
x['q'] = q
assert len(old) == 47, len(old)
open(hot_p, 'w').write(json.dumps(hot, ensure_ascii=False, indent=0) + '\n')
for slug, (q, parts, ans) in E.items():
p = R + 'topic/' + slug + '/index.html'
s = open(p).read()
s = re.sub(r'<title>[^<]*</title>', '<title>' + q + '</title>', s, 1)
m = re.search(r'window\.TOPIC = (\{.*?\n\})', s, re.S)
if m:
T = json.loads(m.group(1))
T['q'] = q; T['title'] = parts; T['answer'] = ans
if slug in NEW:
sec, src = NEW[slug]
T['sections'].insert(0, sec)
T.setdefault('sources', []).append(src)
s = s[:m.start(1)] + json.dumps(T, ensure_ascii=False, indent=1).replace('</', '<\\/') + s[m.end(1):]
open(p, 'w').write(s)
# 相关推荐索引
ip = R + 'topic/_shared/idx.json'
idx = json.load(open(ip))
for r in idx:
if r[0] in E: r[1] = E[r[0]][0]
open(ip, 'w').write(json.dumps(idx, ensure_ascii=False, separators=(',', ':')))
# 首页核心词:QA_KW 按标题原文对应,键跟着换
ap = R + 'js/app.js'
a = open(ap).read()
i0 = a.index('const QA_KW = {'); i1 = a.index('};', i0)
blk = a[i0:i1]
n = 0
for slug, o in old.items():
k = "'" + o + "':"
if k in blk: blk = blk.replace(k, "'" + E[slug][0] + "':"); n += 1
a = a[:i0] + blk + a[i1:]
open(ap, 'w').write(a)
print('hot 47, pages', len(E), 'new sections', len(NEW), 'QA_KW keys', n)