初始归档:健康管理资料库(大医网/药膳/体质监测/中医理论等12个资料集,7712个文件)

This commit is contained in:
512song committed 2026-09-23 21:59:25 +08:00
commit 80ae3811cf
7712 files changed
+4628547

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,137 @@
{
"说明": "五属五宜五补表(总论)",
"行": {
"五行": [
"木",
"火",
"土",
"金",
"水",
"备注"
],
"五时": [
"春",
"夏",
"长夏",
"秋",
"冬",
""
],
"五成": [
"生",
"长",
"化",
"收",
"藏",
""
],
"五脏": [
"肝(胆)",
"心(小肠)",
"脾(胃)",
"肺(大肠)",
"肾(膀胱)",
""
],
"五色": [
"青",
"赤",
"黄",
"白",
"黑",
"五色入五脏"
],
"五味": [
"酸",
"苦",
"甘",
"辛",
"咸",
"五味入五脏"
],
"五谷": [
"麻",
"麦",
"秫",
"稻",
"豆",
"五脏宜食"
],
"五菜": [
"韭",
"薤",
"葵",
"葱",
"藿",
"五脏宜食"
],
"五果": [
"李",
"杏",
"枣",
"桃",
"栗",
"五脏宜食"
],
"五畜": [
"犬",
"羊",
"牛",
"鸡",
"猪",
"五脏宜食"
],
"五补": [
"升补",
"清补",
"淡补",
"平补",
"温补",
""
]
},
"图1_四季五补与五行关系": {
"类型": "五行相生环(顺时针箭头)",
"相生序": [
"木",
"火",
"土",
"金",
"水",
"木"
],
"节点": [
{
"五行": "木",
"季节": "春",
"五脏": "肝",
"补法": "升补"
},
{
"五行": "火",
"季节": "夏",
"五脏": "心",
"补法": "清补"
},
{
"五行": "土",
"季节": "长夏",
"五脏": "脾",
"补法": "淡补"
},
{
"五行": "金",
"季节": "秋",
"五脏": "肺",
"补法": "平补"
},
{
"五行": "水",
"季节": "冬",
"五脏": "肾",
"补法": "温补"
}
],
"图片来源": "01_来源数据/images/30fda34b8131336ae62641695aff72390cbd002167c4abf325390b795490eb02.jpg"
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,225 @@
{
"清洗记录": [
{
"类型": "双栏串行重排",
"条目": "参麦甲鱼(秋)宜忌+解析重排",
"处数": 1,
"依据": "残片拼合;\"灌汗\"→止汗(残片已含\"止汗\")、\"人膳\"→入膳(形近)"
},
{
"类型": "双栏串行重排",
"条目": "琼玉膏双栏重排",
"处数": 1,
"依据": "著名古方(琼玉膏)高置信复原;残字\"腊\"不可复原已舍;\"抖\"→拌匀、\"包\"→包扎(推断)"
},
{
"类型": "双栏串行重排",
"条目": "百合梨膏食法修复",
"处数": 1,
"依据": "\"2×\"为截断残迹,仅修为\"2次\",剂量不臆补"
},
{
"类型": "双栏串行重排",
"条目": "百合梨膏解析重排",
"处数": 1,
"依据": "双栏串行:\"不宜多服\"为原文宜忌残片;拆散的句式重组,无臆补"
},
{
"类型": "双栏串行重排",
"条目": "当归羊肉羹残片删除",
"处数": 1,
"依据": "双栏孤儿残片(配方行重复投影)"
},
{
"类型": "双栏串行重排",
"条目": "当归羊肉羹重复行",
"处数": 1,
"依据": "制作步骤1尾行重复投影删除"
},
{
"类型": "双栏串行重排",
"条目": "当归羊肉羹解析重排",
"处数": 1,
"依据": "串入宜忌字样删除(上行已有完整宜忌:湿盛痰多者不宜长期服食)"
},
{
"类型": "双栏串行重排",
"条目": "蒸鸡配方补黄芪",
"处数": 1,
"依据": "\"50克\"前主药名丢失,由本条制作行\"将当归、黄芪装入鸡腹内\"自证补回\"黄芪\""
},
{
"类型": "双栏串行重排",
"条目": "蒸鸡功效重排",
"处数": 1,
"依据": "双栏串行句序错乱;\"精神\"归位至\"不振\"前;\"补气生血\"由本条解析\"补气生血的作用\"自证"
},
{
"类型": "双栏串行重排",
"条目": "蒸鸡食法错字",
"处数": 1,
"依据": "形近错字:養→餐"
},
{
"类型": "双栏串行重排",
"条目": "蒸鸡垃圾行删除",
"处数": 1,
"依据": "形近错字残行(解折=解析,内容为下文重复),删除"
},
{
"类型": "双栏串行重排",
"条目": "软炸淮药兔重复标",
"处数": 1,
"依据": "重复【制作】标题"
},
{
"类型": "双栏串行重排",
"条目": "软炸淮药兔标签错字",
"处数": 1,
"依据": "形近错字:宣→宜"
},
{
"类型": "双栏串行重排-未应用",
"条目": "银花露孤儿行适量",
"命中数": 0,
"处理": "锚点异常,保守跳过(不改动)"
},
{
"类型": "双栏串行重排",
"条目": "银杏炖鸭孤行适量",
"处数": 1,
"依据": "页界孤行\"适量。\"删除"
},
{
"类型": "双栏串行重排",
"条目": "双鞭壮阳汤错字",
"处数": 1,
"依据": "形近错字:菊→菟(与枸杞子/肉苁蓉同组,补肾组药)"
},
{
"类型": "双栏串行重排",
"条目": "双鞭壮阳汤配方错字",
"处数": 1,
"依据": "\"粉酒\"为\"料酒\"形近错字(全书调味品惯例)"
},
{
"类型": "双栏串行重排",
"条目": "燕窝汤孤儿断片删除",
"处数": 1,
"依据": "双栏孤儿断片(疑为\"莲子蜂蜜膏\"残方,标题丢失),不入正文,记录于清洗报告"
},
{
"类型": "双栏串行重排",
"条目": "页码残留删除",
"处数": 1,
"依据": "电子转换页码残留"
},
{
"类型": "双栏串行重排",
"条目": "二仁全鸭行尾污染",
"处数": 1,
"依据": "串入的错乱食法行删除(下行有完整【食法】佐餐汤饮)"
},
{
"类型": "双栏串行重排",
"条目": "八宝鸡汤行尾污染",
"处数": 1,
"依据": "\"即用\"→即成;串入的食法行删除(下行有完整【食法】)"
},
{
"类型": "双栏串行重排",
"条目": "桑菊蜜膏重复标",
"处数": 1,
"依据": "重复【制作】标题"
},
{
"类型": "双栏串行重排",
"条目": "桑菊蜜膏错行",
"处数": 1,
"依据": "错乱步骤行删除(上行有完整步骤2)"
},
{
"类型": "双栏串行重排",
"条目": "茯苓面复原(标题+配方功效)",
"处数": 1,
"依据": "被双栏串行掩埋的第156条;\"面分\"→面粉、\"神\"→安神(残片)"
},
{
"类型": "双栏串行重排",
"条目": "茯苓面制作1",
"处数": 1,
"依据": "\"过可筛\"→过筛"
},
{
"类型": "双栏串行重排",
"条目": "茯苓面制作2+食法",
"处数": 1,
"依据": "行序重排;\"加一人油\"→加油"
},
{
"类型": "双栏串行重排",
"条目": "茯苓面解析",
"处数": 1,
"依据": "\"下\"→平(性味);归经\"心、胃\"保留原文(与通行\"心、脾、肾\"不一致,存疑标记)"
},
{
"类型": "错字修正",
"原文": "纲蕴",
"改为": "氤氲",
"处数": 1,
"依据": "形近错字:氤氲熏蒸为四时湿邪标准表述"
},
{
"类型": "错字修正",
"原文": "不宜患食",
"改为": "不宜食用",
"处数": 1,
"依据": "倒序/形近错字:银杏炖鸭宜忌行"
},
{
"类型": "重复制作标题",
"处数": 11,
"依据": "电子转换重复标题, 中间无内容, 全局正则安全"
}
],
"表格断片拼回": "10处【解析】页界截断断片已拼回(半角标点已转全角)",
"孤儿断片说明": "燕窝汤后孤儿断片疑为\"莲子蜂蜜膏\"残方(莲子50克+蜂蜜150克,养心补脾/益肾涩精/补脾止泻/润燥止痛),标题丢失不入正式条目",
"质量标记统计": {
"同名条目": 2,
"原文疑似缺字": 1,
"宜忌原文疑截断": 1
},
"字段覆盖率": {
"配方": "156/156",
"功效": "156/156",
"制作": "156/156",
"食法": "156/156",
"宜忌": "156/156",
"解析": "156/156",
"性味": "156/156"
},
"季节分布": {
"春": 17,
"夏": 19,
"秋": 27,
"冬": 40,
"四季通用": 53
},
"性味分布": {
"平": 59,
"凉": 39,
"温": 54,
"热": 4
},
"重名条目": {
"参麦甲鱼": [
"SJSY-X003",
"SJSY-Q025"
]
},
"未修正保留项": [
"银杏炖鸭\"中老年人止\"疑似缺字(不臆改)",
"第四章章标缺失(电子转换丢失,秋季章由章名识别)",
"总论图1图片文件丢失(images/30fda34b....jpg)"
]
}
@@ -0,0 +1,364 @@
[
{
"季节": "春",
"章节": "春季常用药膳",
"导读": "春天,天气逐渐暖和,万物开始复苏,人体内的变化也与自然气候变化相一致,由冬季的固密收敛逐渐变为阳气初升,所以人的活动也多起来。 中医认为,“由静转动、阳气渐升”是人体在春季的重要生理变化,是“人与天应”的结果。这种变化能够正常进行则人体就健康无病,若进行得不正常则机体内的平衡就被破坏,人体就易患病。 中医还认为,春天阳气升发,树木萌芽,与五脏中“肝”的性质相呼应,有“在脏为肝”之说,而“肝克脾”,春季肝气升发就会在一定程度上影响脾的运化,所以有不少人在春季胃口不佳、饭量减少,如果出现这样的情况,就需要进行饮食调理。 无论是比较健康的人士,还是有宿疾的患者,在春季进行饮食调养都必须顺应自然与人体的变化,不能再像冬季寒冷天气那样进食太多厚味温补的食物,这样不仅会增加肠胃的负担,而且会扰乱人体阴阳平衡,即使服食了厚味温补的药膳,也不一定能起到补益的作用,而且很多人吃完后还有胃肠不适的反应。 春季进食药膳调养身体,还需要根据气候寒温变化和个人身体等情况而定。由于春季的气候寒温变化较大且经常反复,人体内的阳气升发也变化明显,所以服食的药膳性质也变化较多,原则上春季寒冷时不宜多服凉性药膳;气候转暖,阳气升发的时间不宜过服温补之品;个人身体若偏阳气弱者也不宜多服凉性药膳;阴虚有热者则不宜过服温补之品。这些是基本原则。所以春季常用的药膳在性质上凉、平、温性质均有,这也是与寒温交替时人体的生理变化相一致的地方。 下面介绍的药膳,是供春季养生调理的常用之品。",
"条数": 17,
"药膳": [
"攒丝燕菜",
"天麻鱼头",
"芝麻升麻猪肠面",
"青鸭羹",
"赤豆鲤鱼",
"玉竹心子",
"杜仲腰花",
"玄参炖猪肝",
"天麻猪脑羹",
"姜汁菠菜",
"葱白炖豆腐",
"清脑羹",
"当归面筋",
"萝卜白菜汁",
"姜醋",
"首乌肝片",
"人参菠菜饺子"
],
"ids": [
"SJSY-C001",
"SJSY-C002",
"SJSY-C003",
"SJSY-C004",
"SJSY-C005",
"SJSY-C006",
"SJSY-C007",
"SJSY-C008",
"SJSY-C009",
"SJSY-C010",
"SJSY-C011",
"SJSY-C012",
"SJSY-C013",
"SJSY-C014",
"SJSY-C015",
"SJSY-C016",
"SJSY-C017"
]
},
{
"季节": "夏",
"章节": "夏季常用药膳",
"导读": "夏天,天气炎热,万物都处于旺盛的生长阶段,人体在此时的代谢也是一年之中最旺盛的时期。 中医认为,夏天人体的“阳气”最旺盛,这是顺应自然气候变化的结果,但是由于天气炎热或暑湿过重,人体自然喜凉爽,饮食上也多愿意吃一些清淡少油腻的食物。此时,冬季进补常用的厚味温补之品在夏季已不适合服食了,如果还要温补,就会热上加热,助长内火,耗伤阴津,导致疾病的发生或加重。(阴寒体质或患阴性病者除外) 夏季暑热过盛,容易耗气伤阴,影响 脾胃运化功能和阴阳平衡。养生调补方面,原则上以清补为主,所选药膳性质偏凉或平和,以清火养阴,使阴阳平衡。甘凉、利湿清暑、少油腻为夏季常用药膳的主要特点。对于部分在夏季贪凉或过食生冷寒凉之物导致脾胃受伤、腹泻发热、感冒的人来说,在患病期间这些药膳饮食就不宜过多服用,因为此时人体的阳气已经因寒凉而受伤、不再旺盛了,清养的时候不宜太过。 下面介绍的药膳,是供夏季养生调理的常用之品。",
"条数": 19,
"药膳": [
"荷叶凤脯",
"地黄鸡",
"参麦甲鱼",
"银杏蒸鸭",
"百仁全鸭",
"枸杞肉丝",
"玉参焖鸭",
"果仁排骨",
"海蜇汤",
"菊花粥",
"清络饮",
"苡仁冬瓜羹",
"薏仁粥",
"鱼腥草拌莴笋",
"荷叶粥",
"茉莉银耳",
"豆蔻馒头",
"解暑益气汤",
"银花露"
],
"ids": [
"SJSY-X001",
"SJSY-X002",
"SJSY-X003",
"SJSY-X004",
"SJSY-X005",
"SJSY-X006",
"SJSY-X007",
"SJSY-X008",
"SJSY-X009",
"SJSY-X010",
"SJSY-X011",
"SJSY-X012",
"SJSY-X013",
"SJSY-X014",
"SJSY-X015",
"SJSY-X016",
"SJSY-X017",
"SJSY-X018",
"SJSY-X019"
]
},
{
"季节": "秋",
"章节": "秋季常用药膳",
"导读": "秋天,天气逐渐由热转凉、转燥,人体的代谢也渐趋平缓,养生进补也要依据这些规律进行。 天气转燥转凉固然再无夏日炎热潮湿之弊,令人感到舒适,但如果转化太快太剧烈的话,人体也会适应不了,体内的阴阳平衡就会被破坏,表现出凉燥之邪伤人为患,所以《饮膳正要》说:“秋气燥,宜食麻,以润其燥,禁寒饮食”。 另一方面,秋季虽然由热转凉,但夏季余热时有反复,部分人群由于夏季调理不当或受暑热太过,到秋天后体内仍有夏季余火未消,当气候转燥后,变成燥火为 患,出现口干、咽燥、咳嗽、皮肤干燥等症状。对这样的情况,就需以清平滋润为主进行调理,不宜过食煎炸动火之品。 中医还认为,秋季天气肃杀,“在脏属肺”,而肺为娇脏,喜润恶燥,无论是初秋温燥,还是深秋凉燥,都容易伤肺致病,调理进补当以滋润为主,并根据天气寒温及个人身体状况选择相应凉性、温性或平性药膳,以达到滋润益肺,祛邪强身之效。虽然如此,但由于肺脏属金,恶热喜凉,故秋季养生调理药膳还是以平性和凉性为多,温补之品相对较少用。 以下介绍的药膳,是供秋季养生调理的常用之品。",
"条数": 27,
"药膳": [
"芝麻兔",
"玉米须炖龟",
"菊花肉片",
"九月鸡片",
"山药肉麻丸",
"荸荠鸭子",
"沙参心肺汤",
"牛膝蹄筋",
"罗汉果煲猪肺",
"银杏鸡丁",
"杏梨饮",
"冰糖莲子",
"枸杞膏",
"黄芪膏",
"百合梨膏",
"天门冬膏",
"山药蛋黄粥",
"山药杏仁粥",
"枇杷藕百合羹",
"山药奶肉羹",
"人参莲肉汤",
"乌梅蜜膏",
"陈草蜜膏",
"参芪精",
"参麦甲鱼",
"二仁全鸭",
"银杏炖鸭"
],
"ids": [
"SJSY-Q001",
"SJSY-Q002",
"SJSY-Q003",
"SJSY-Q004",
"SJSY-Q005",
"SJSY-Q006",
"SJSY-Q007",
"SJSY-Q008",
"SJSY-Q009",
"SJSY-Q010",
"SJSY-Q011",
"SJSY-Q012",
"SJSY-Q013",
"SJSY-Q014",
"SJSY-Q015",
"SJSY-Q016",
"SJSY-Q017",
"SJSY-Q018",
"SJSY-Q019",
"SJSY-Q020",
"SJSY-Q021",
"SJSY-Q022",
"SJSY-Q023",
"SJSY-Q024",
"SJSY-Q025",
"SJSY-Q026",
"SJSY-Q027"
]
},
{
"季节": "冬",
"章节": "冬季常用药膳",
"导读": "冬天,天气寒冷,“寒主收引”,人与自然相应,机体也处于收敛潜藏阶段,代谢水平降低,消耗减少,吸收能力增强,所以冬季是传统的最佳调补季节。 冬季调补的历史在中国由来已久,其基本原则可以归纳为四个字:厚味温补。厚味不单是指冬季所服食的膳食味道浓郁,更是指膳食营养丰富,味道甘美。中医认为,“厚味填精”,意指滋味浓郁甘美的饮食补充人体所需的精华营养。温补的意思很好理解,由于冬季寒冷,阴气盛,人体需要服食一些温热性膳食来驱寒温阳。这两个特点结合在一起,就是厚味 温补的冬季养生调补原则。 从另一方面看,中医认为人体的一切生命活动都是由元气推动的,而元气主要由肾化生,冬季“在脏属肾”,“肾主藏精”,通过冬季补益肾精可以促进元气的生成,所以冬季调补的另一原则特点可以归纳为“补肾填精益元气。” “厚味温补”与“补肾填精益元气”是冬季养生调补的原则,其中“厚味温补”是从人们服药膳的性、味方面归纳的,而“补肾填精益元气”则是从所服药膳的功能作用上归纳的,两者是统一的。 下面介绍的药膳,是供冬季养生调补的常用之品。",
"条数": 40,
"药膳": [
"清蒸人参鸡",
"爆人参鸡片",
"红杞蒸鸡",
"蒸鸡",
"菟丝子饼",
"五味子膏",
"金樱子膏",
"龙眼核桃鸡",
"虫草鹌鹑",
"丁香鸭",
"芪蒸鹌鹑",
"芪杞炖乳鸽",
"黄芪汽锅鸡",
"鲫鱼羹",
"归参炖母鸡",
"核桃仁炒韭菜",
"核桃粥",
"红杞活鱼",
"归参山药猪腰",
"白胡椒煨猪肚",
"归参鳝鱼羹",
"海参猪肉饼",
"人参汤圆",
"当归生姜羊肉汤",
"人参核桃膏",
"红枣粥",
"龙眼莲子粥",
"海参粥",
"当归羊肉羹",
"木瓜汤",
"雪莲牛筋汤",
"附片羊肉汤",
"壮阳狗肉汤",
"大麦汤",
"羊肉温中粥",
"羊肉萝卜汤",
"八宝鸡汤",
"人参米肚",
"雪花鸡汤",
"双鞭壮阳汤"
],
"ids": [
"SJSY-D001",
"SJSY-D002",
"SJSY-D003",
"SJSY-D004",
"SJSY-D005",
"SJSY-D006",
"SJSY-D007",
"SJSY-D008",
"SJSY-D009",
"SJSY-D010",
"SJSY-D011",
"SJSY-D012",
"SJSY-D013",
"SJSY-D014",
"SJSY-D015",
"SJSY-D016",
"SJSY-D017",
"SJSY-D018",
"SJSY-D019",
"SJSY-D020",
"SJSY-D021",
"SJSY-D022",
"SJSY-D023",
"SJSY-D024",
"SJSY-D025",
"SJSY-D026",
"SJSY-D027",
"SJSY-D028",
"SJSY-D029",
"SJSY-D030",
"SJSY-D031",
"SJSY-D032",
"SJSY-D033",
"SJSY-D034",
"SJSY-D035",
"SJSY-D036",
"SJSY-D037",
"SJSY-D038",
"SJSY-D039",
"SJSY-D040"
]
},
{
"季节": "四季通用",
"章节": "四季通用药膳",
"导读": "春夏秋冬,四季的寒温与气候变化是不同的,人体在不同季节里的生理活动也有所差异,所以每个季节选择调补药膳各有相应的某些特点。 我们不难发现,春天由于寒温多变, 所以药膳性质也温、凉、平均有;夏季炎 热人体阳气旺盛,所以凉性养阴清火之品 多选;秋天气候偏干燥,所以选择的药膳 大多滋润;到了冬季,天寒而人的阳气潜 藏,所以几乎都是厚味温补之品。 药膳的选用虽然有上述季节性特点,但药膳毕竟不是中药,多数药膳性质并不十分偏颇,对于这些性质比较平和的药 膳,只要人体需要,是不用按季节而是可以随时选用的,这就是因人、因证施以药膳调理养生,也是四季养生调理的特别形式之一。 下面介绍的药膳,是四季通用的养生调理药膳,适宜各种体质人士根据自身情况选用服食。",
"条数": 53,
"药膳": [
"百合莲子羹",
"芝麻栗子羹",
"莲子核桃羹",
"大枣粥",
"苏子糯米粥",
"桑菊蜜膏",
"芡实内金饼",
"桑椹芝麻面",
"茯苓面",
"苡仁面",
"苡仁炖猪蹄",
"百合藕羹",
"燕窝汤",
"琼玉膏",
"益脾饼",
"山药面",
"龙眼饼子",
"鲤鱼汤",
"砂仁鲫鱼汤",
"虫草金龟",
"猪肤红枣羹",
"黑米党参粥",
"首乌粥",
"乳汁膏",
"五汁膏",
"藕汁蜜膏",
"山药馄饨",
"红杞田七鸡",
"山药羊肉面",
"川贝雪梨",
"百莲酿藕",
"砂仁肚条",
"莲子猪肚",
"软炸淮药兔",
"红枣炖兔肉",
"葱枣汤",
"银耳羹",
"高粱粥",
"红枣糯米粥",
"人参粥",
"枸杞蒸鹌鹑",
"鸡肝饼",
"止咳梨膏糖",
"戒烟糖",
"百合糖",
"山楂糖",
"砂仁糖",
"黑木耳糖",
"姜汁糖",
"香砂糖",
"丁香姜糖",
"柿霜糖",
"白木耳糖"
],
"ids": [
"SJSY-T001",
"SJSY-T002",
"SJSY-T003",
"SJSY-T004",
"SJSY-T005",
"SJSY-T006",
"SJSY-T007",
"SJSY-T008",
"SJSY-T009",
"SJSY-T010",
"SJSY-T011",
"SJSY-T012",
"SJSY-T013",
"SJSY-T014",
"SJSY-T015",
"SJSY-T016",
"SJSY-T017",
"SJSY-T018",
"SJSY-T019",
"SJSY-T020",
"SJSY-T021",
"SJSY-T022",
"SJSY-T023",
"SJSY-T024",
"SJSY-T025",
"SJSY-T026",
"SJSY-T027",
"SJSY-T028",
"SJSY-T029",
"SJSY-T030",
"SJSY-T031",
"SJSY-T032",
"SJSY-T033",
"SJSY-T034",
"SJSY-T035",
"SJSY-T036",
"SJSY-T037",
"SJSY-T038",
"SJSY-T039",
"SJSY-T040",
"SJSY-T041",
"SJSY-T042",
"SJSY-T043",
"SJSY-T044",
"SJSY-T045",
"SJSY-T046",
"SJSY-T047",
"SJSY-T048",
"SJSY-T049",
"SJSY-T050",
"SJSY-T051",
"SJSY-T052",
"SJSY-T053"
]
}
]
@@ -0,0 +1,802 @@
{
"平": {
"条数": 59,
"药膳": [
{
"id": "SJSY-C001",
"名称": "攒丝燕菜",
"季节": "春"
},
{
"id": "SJSY-C002",
"名称": "天麻鱼头",
"季节": "春"
},
{
"id": "SJSY-C003",
"名称": "芝麻升麻猪肠面",
"季节": "春"
},
{
"id": "SJSY-C004",
"名称": "青鸭羹",
"季节": "春"
},
{
"id": "SJSY-C005",
"名称": "赤豆鲤鱼",
"季节": "春"
},
{
"id": "SJSY-C009",
"名称": "天麻猪脑羹",
"季节": "春"
},
{
"id": "SJSY-C010",
"名称": "姜汁菠菜",
"季节": "春"
},
{
"id": "SJSY-C013",
"名称": "当归面筋",
"季节": "春"
},
{
"id": "SJSY-C016",
"名称": "首乌肝片",
"季节": "春"
},
{
"id": "SJSY-C017",
"名称": "人参菠菜饺子",
"季节": "春"
},
{
"id": "SJSY-X008",
"名称": "果仁排骨",
"季节": "夏"
},
{
"id": "SJSY-Q001",
"名称": "芝麻兔",
"季节": "秋"
},
{
"id": "SJSY-Q002",
"名称": "玉米须炖龟",
"季节": "秋"
},
{
"id": "SJSY-Q005",
"名称": "山药肉麻丸",
"季节": "秋"
},
{
"id": "SJSY-Q006",
"名称": "荸荠鸭子",
"季节": "秋"
},
{
"id": "SJSY-Q008",
"名称": "牛膝蹄筋",
"季节": "秋"
},
{
"id": "SJSY-Q012",
"名称": "冰糖莲子",
"季节": "秋"
},
{
"id": "SJSY-Q013",
"名称": "枸杞膏",
"季节": "秋"
},
{
"id": "SJSY-Q014",
"名称": "黄芪膏",
"季节": "秋"
},
{
"id": "SJSY-Q017",
"名称": "山药蛋黄粥",
"季节": "秋"
},
{
"id": "SJSY-Q020",
"名称": "山药奶肉羹",
"季节": "秋"
},
{
"id": "SJSY-Q021",
"名称": "人参莲肉汤",
"季节": "秋"
},
{
"id": "SJSY-Q022",
"名称": "乌梅蜜膏",
"季节": "秋"
},
{
"id": "SJSY-Q025",
"名称": "参麦甲鱼",
"季节": "秋"
},
{
"id": "SJSY-Q026",
"名称": "二仁全鸭",
"季节": "秋"
},
{
"id": "SJSY-Q027",
"名称": "银杏炖鸭",
"季节": "秋"
},
{
"id": "SJSY-D005",
"名称": "菟丝子饼",
"季节": "冬"
},
{
"id": "SJSY-T001",
"名称": "百合莲子羹",
"季节": "四季通用"
},
{
"id": "SJSY-T002",
"名称": "芝麻栗子羹",
"季节": "四季通用"
},
{
"id": "SJSY-T003",
"名称": "莲子核桃羹",
"季节": "四季通用"
},
{
"id": "SJSY-T004",
"名称": "大枣粥",
"季节": "四季通用"
},
{
"id": "SJSY-T005",
"名称": "苏子糯米粥",
"季节": "四季通用"
},
{
"id": "SJSY-T007",
"名称": "芡实内金饼",
"季节": "四季通用"
},
{
"id": "SJSY-T009",
"名称": "茯苓面",
"季节": "四季通用"
},
{
"id": "SJSY-T012",
"名称": "百合藕羹",
"季节": "四季通用"
},
{
"id": "SJSY-T014",
"名称": "琼玉膏",
"季节": "四季通用"
},
{
"id": "SJSY-T016",
"名称": "山药面",
"季节": "四季通用"
},
{
"id": "SJSY-T017",
"名称": "龙眼饼子",
"季节": "四季通用"
},
{
"id": "SJSY-T018",
"名称": "鲤鱼汤",
"季节": "四季通用"
},
{
"id": "SJSY-T020",
"名称": "虫草金龟",
"季节": "四季通用"
},
{
"id": "SJSY-T021",
"名称": "猪肤红枣羹",
"季节": "四季通用"
},
{
"id": "SJSY-T024",
"名称": "乳汁膏",
"季节": "四季通用"
},
{
"id": "SJSY-T026",
"名称": "藕汁蜜膏",
"季节": "四季通用"
},
{
"id": "SJSY-T027",
"名称": "山药馄饨",
"季节": "四季通用"
},
{
"id": "SJSY-T028",
"名称": "红杞田七鸡",
"季节": "四季通用"
},
{
"id": "SJSY-T031",
"名称": "百莲酿藕",
"季节": "四季通用"
},
{
"id": "SJSY-T033",
"名称": "莲子猪肚",
"季节": "四季通用"
},
{
"id": "SJSY-T034",
"名称": "软炸淮药兔",
"季节": "四季通用"
},
{
"id": "SJSY-T035",
"名称": "红枣炖兔肉",
"季节": "四季通用"
},
{
"id": "SJSY-T039",
"名称": "红枣糯米粥",
"季节": "四季通用"
},
{
"id": "SJSY-T040",
"名称": "人参粥",
"季节": "四季通用"
},
{
"id": "SJSY-T041",
"名称": "枸杞蒸鹌鹑",
"季节": "四季通用"
},
{
"id": "SJSY-T042",
"名称": "鸡肝饼",
"季节": "四季通用"
},
{
"id": "SJSY-T043",
"名称": "止咳梨膏糖",
"季节": "四季通用"
},
{
"id": "SJSY-T044",
"名称": "戒烟糖",
"季节": "四季通用"
},
{
"id": "SJSY-T045",
"名称": "百合糖",
"季节": "四季通用"
},
{
"id": "SJSY-T046",
"名称": "山楂糖",
"季节": "四季通用"
},
{
"id": "SJSY-T047",
"名称": "砂仁糖",
"季节": "四季通用"
},
{
"id": "SJSY-T048",
"名称": "黑木耳糖",
"季节": "四季通用"
}
]
},
"凉": {
"条数": 39,
"药膳": [
{
"id": "SJSY-C006",
"名称": "玉竹心子",
"季节": "春"
},
{
"id": "SJSY-C008",
"名称": "玄参炖猪肝",
"季节": "春"
},
{
"id": "SJSY-C012",
"名称": "清脑羹",
"季节": "春"
},
{
"id": "SJSY-C014",
"名称": "萝卜白菜汁",
"季节": "春"
},
{
"id": "SJSY-X001",
"名称": "荷叶凤脯",
"季节": "夏"
},
{
"id": "SJSY-X002",
"名称": "地黄鸡",
"季节": "夏"
},
{
"id": "SJSY-X003",
"名称": "参麦甲鱼",
"季节": "夏"
},
{
"id": "SJSY-X004",
"名称": "银杏蒸鸭",
"季节": "夏"
},
{
"id": "SJSY-X005",
"名称": "百仁全鸭",
"季节": "夏"
},
{
"id": "SJSY-X006",
"名称": "枸杞肉丝",
"季节": "夏"
},
{
"id": "SJSY-X007",
"名称": "玉参焖鸭",
"季节": "夏"
},
{
"id": "SJSY-X009",
"名称": "海蜇汤",
"季节": "夏"
},
{
"id": "SJSY-X010",
"名称": "菊花粥",
"季节": "夏"
},
{
"id": "SJSY-X011",
"名称": "清络饮",
"季节": "夏"
},
{
"id": "SJSY-X012",
"名称": "苡仁冬瓜羹",
"季节": "夏"
},
{
"id": "SJSY-X013",
"名称": "薏仁粥",
"季节": "夏"
},
{
"id": "SJSY-X014",
"名称": "鱼腥草拌莴笋",
"季节": "夏"
},
{
"id": "SJSY-X015",
"名称": "荷叶粥",
"季节": "夏"
},
{
"id": "SJSY-X016",
"名称": "茉莉银耳",
"季节": "夏"
},
{
"id": "SJSY-X018",
"名称": "解暑益气汤",
"季节": "夏"
},
{
"id": "SJSY-X019",
"名称": "银花露",
"季节": "夏"
},
{
"id": "SJSY-Q003",
"名称": "菊花肉片",
"季节": "秋"
},
{
"id": "SJSY-Q004",
"名称": "九月鸡片",
"季节": "秋"
},
{
"id": "SJSY-Q007",
"名称": "沙参心肺汤",
"季节": "秋"
},
{
"id": "SJSY-Q009",
"名称": "罗汉果煲猪肺",
"季节": "秋"
},
{
"id": "SJSY-Q011",
"名称": "杏梨饮",
"季节": "秋"
},
{
"id": "SJSY-Q015",
"名称": "百合梨膏",
"季节": "秋"
},
{
"id": "SJSY-Q016",
"名称": "天门冬膏",
"季节": "秋"
},
{
"id": "SJSY-Q019",
"名称": "枇杷藕百合羹",
"季节": "秋"
},
{
"id": "SJSY-T006",
"名称": "桑菊蜜膏",
"季节": "四季通用"
},
{
"id": "SJSY-T008",
"名称": "桑椹芝麻面",
"季节": "四季通用"
},
{
"id": "SJSY-T010",
"名称": "苡仁面",
"季节": "四季通用"
},
{
"id": "SJSY-T011",
"名称": "苡仁炖猪蹄",
"季节": "四季通用"
},
{
"id": "SJSY-T013",
"名称": "燕窝汤",
"季节": "四季通用"
},
{
"id": "SJSY-T025",
"名称": "五汁膏",
"季节": "四季通用"
},
{
"id": "SJSY-T030",
"名称": "川贝雪梨",
"季节": "四季通用"
},
{
"id": "SJSY-T037",
"名称": "银耳羹",
"季节": "四季通用"
},
{
"id": "SJSY-T052",
"名称": "柿霜糖",
"季节": "四季通用"
},
{
"id": "SJSY-T053",
"名称": "白木耳糖",
"季节": "四季通用"
}
]
},
"温": {
"条数": 54,
"药膳": [
{
"id": "SJSY-C007",
"名称": "杜仲腰花",
"季节": "春"
},
{
"id": "SJSY-C011",
"名称": "葱白炖豆腐",
"季节": "春"
},
{
"id": "SJSY-C015",
"名称": "姜醋",
"季节": "春"
},
{
"id": "SJSY-X017",
"名称": "豆蔻馒头",
"季节": "夏"
},
{
"id": "SJSY-Q010",
"名称": "银杏鸡丁",
"季节": "秋"
},
{
"id": "SJSY-Q018",
"名称": "山药杏仁粥",
"季节": "秋"
},
{
"id": "SJSY-Q023",
"名称": "陈草蜜膏",
"季节": "秋"
},
{
"id": "SJSY-Q024",
"名称": "参芪精",
"季节": "秋"
},
{
"id": "SJSY-D001",
"名称": "清蒸人参鸡",
"季节": "冬"
},
{
"id": "SJSY-D002",
"名称": "爆人参鸡片",
"季节": "冬"
},
{
"id": "SJSY-D003",
"名称": "红杞蒸鸡",
"季节": "冬"
},
{
"id": "SJSY-D004",
"名称": "蒸鸡",
"季节": "冬"
},
{
"id": "SJSY-D006",
"名称": "五味子膏",
"季节": "冬"
},
{
"id": "SJSY-D007",
"名称": "金樱子膏",
"季节": "冬"
},
{
"id": "SJSY-D008",
"名称": "龙眼核桃鸡",
"季节": "冬"
},
{
"id": "SJSY-D009",
"名称": "虫草鹌鹑",
"季节": "冬"
},
{
"id": "SJSY-D010",
"名称": "丁香鸭",
"季节": "冬"
},
{
"id": "SJSY-D011",
"名称": "芪蒸鹌鹑",
"季节": "冬"
},
{
"id": "SJSY-D012",
"名称": "芪杞炖乳鸽",
"季节": "冬"
},
{
"id": "SJSY-D013",
"名称": "黄芪汽锅鸡",
"季节": "冬"
},
{
"id": "SJSY-D014",
"名称": "鲫鱼羹",
"季节": "冬"
},
{
"id": "SJSY-D015",
"名称": "归参炖母鸡",
"季节": "冬"
},
{
"id": "SJSY-D016",
"名称": "核桃仁炒韭菜",
"季节": "冬"
},
{
"id": "SJSY-D017",
"名称": "核桃粥",
"季节": "冬"
},
{
"id": "SJSY-D018",
"名称": "红杞活鱼",
"季节": "冬"
},
{
"id": "SJSY-D019",
"名称": "归参山药猪腰",
"季节": "冬"
},
{
"id": "SJSY-D020",
"名称": "白胡椒煨猪肚",
"季节": "冬"
},
{
"id": "SJSY-D021",
"名称": "归参鳝鱼羹",
"季节": "冬"
},
{
"id": "SJSY-D022",
"名称": "海参猪肉饼",
"季节": "冬"
},
{
"id": "SJSY-D023",
"名称": "人参汤圆",
"季节": "冬"
},
{
"id": "SJSY-D024",
"名称": "当归生姜羊肉汤",
"季节": "冬"
},
{
"id": "SJSY-D025",
"名称": "人参核桃膏",
"季节": "冬"
},
{
"id": "SJSY-D026",
"名称": "红枣粥",
"季节": "冬"
},
{
"id": "SJSY-D027",
"名称": "龙眼莲子粥",
"季节": "冬"
},
{
"id": "SJSY-D028",
"名称": "海参粥",
"季节": "冬"
},
{
"id": "SJSY-D029",
"名称": "当归羊肉羹",
"季节": "冬"
},
{
"id": "SJSY-D030",
"名称": "木瓜汤",
"季节": "冬"
},
{
"id": "SJSY-D031",
"名称": "雪莲牛筋汤",
"季节": "冬"
},
{
"id": "SJSY-D034",
"名称": "大麦汤",
"季节": "冬"
},
{
"id": "SJSY-D036",
"名称": "羊肉萝卜汤",
"季节": "冬"
},
{
"id": "SJSY-D037",
"名称": "八宝鸡汤",
"季节": "冬"
},
{
"id": "SJSY-D038",
"名称": "人参米肚",
"季节": "冬"
},
{
"id": "SJSY-D039",
"名称": "雪花鸡汤",
"季节": "冬"
},
{
"id": "SJSY-T015",
"名称": "益脾饼",
"季节": "四季通用"
},
{
"id": "SJSY-T019",
"名称": "砂仁鲫鱼汤",
"季节": "四季通用"
},
{
"id": "SJSY-T022",
"名称": "黑米党参粥",
"季节": "四季通用"
},
{
"id": "SJSY-T023",
"名称": "首乌粥",
"季节": "四季通用"
},
{
"id": "SJSY-T029",
"名称": "山药羊肉面",
"季节": "四季通用"
},
{
"id": "SJSY-T032",
"名称": "砂仁肚条",
"季节": "四季通用"
},
{
"id": "SJSY-T036",
"名称": "葱枣汤",
"季节": "四季通用"
},
{
"id": "SJSY-T038",
"名称": "高粱粥",
"季节": "四季通用"
},
{
"id": "SJSY-T049",
"名称": "姜汁糖",
"季节": "四季通用"
},
{
"id": "SJSY-T050",
"名称": "香砂糖",
"季节": "四季通用"
},
{
"id": "SJSY-T051",
"名称": "丁香姜糖",
"季节": "四季通用"
}
]
},
"热": {
"条数": 4,
"药膳": [
{
"id": "SJSY-D032",
"名称": "附片羊肉汤",
"季节": "冬"
},
{
"id": "SJSY-D033",
"名称": "壮阳狗肉汤",
"季节": "冬"
},
{
"id": "SJSY-D035",
"名称": "羊肉温中粥",
"季节": "冬"
},
{
"id": "SJSY-D040",
"名称": "双鞭壮阳汤",
"季节": "冬"
}
]
}
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,300 @@
12.5|SJSY-T049 姜汁糖(四季通用/温)
药膳全书名称: 姜糖饮(exact)
成分重叠: -
大医网药膳食疗: 姜露(exact), 姜酒(exact)
疾病桥接: 感冒, 咳嗽, 呕吐
药材: 生姜
12.3|SJSY-Q018 山药杏仁粥(秋/温)
药膳全书名称: 山药杏仁糊(exact)
成分重叠: 半夏山药粥:0.67, 山药绿豆糖水:0.50
大医网药膳食疗: 杏仁饼(partial), 杏仁粥(partial)
疾病桥接: 慢性支气管炎, 支气管炎
药材: 山药、杏仁、淮山
12.3|SJSY-D029 当归羊肉羹(冬/温)
药膳全书名称: 当归羊肉羹(exact)
成分重叠: 当归羊肉羹:0.67, 葡萄当归煲猪血:0.50
大医网药膳食疗: 熟地当归羊肉汤(partial), 羊肉汤(partial)
疾病桥接: 贫血, 气血不足, 血虚
药材: 党参、当归、生姜、葱、黄芪
12.0|SJSY-T039 红枣糯米粥(四季通用/平)
药膳全书名称: 红枣糯米粥(exact)
成分重叠: 红枣山药粥:0.50, 绿豆百合薏仁汤:0.43
大医网药膳食疗: 糯米饭(partial), 糯米粥(partial)
疾病桥接: 脾胃虚弱
药材: 大枣、山药、淮山、荸荠、薏苡仁
11.0|SJSY-Q016 天门冬膏(秋/凉)
药膳全书名称: 天门冬茶(exact)
成分重叠: -
大医网药膳食疗: 天门冬酒(exact)
疾病桥接: -
药材: 天冬、天门冬
11.0|SJSY-D005 菟丝子饼(冬/平)
药膳全书名称: 菟丝子大米粥(partial)
成分重叠: -
大医网药膳食疗: 菟丝子酒(exact), 菟丝子茶(exact)
疾病桥接: 遗精, 阳痿
药材: 菟丝子
11.0|SJSY-D006 五味子膏(冬/温)
药膳全书名称: 五味子番茄面(partial), 五味子炖猪肝(partial)
成分重叠: -
大医网药膳食疗: 五味子酒(exact), 五味子膏(exact)
疾病桥接: 梦遗, 滑精, 自汗, 盗汗
药材: 五味子
11.0|SJSY-D027 龙眼莲子粥(冬/温)
药膳全书名称: 龙眼莲子羹(exact), 龙眼莲子粳米粥(partial)
成分重叠: -
大医网药膳食疗: 龙眼酒(partial), 莲子羹(partial)
疾病桥接: 气虚, 心悸
药材: 大枣
11.0|SJSY-T042 鸡肝饼(四季通用/平)
药膳全书名称: 首乌鸡肝汤(partial), 枸杞鸡肝汤(partial)
成分重叠: -
大医网药膳食疗: 鸡肝粥(exact), 决明子鸡肝(partial)
疾病桥接: 肝炎
药材: 花椒
10.8|SJSY-D010 丁香鸭(冬/温)
药膳全书名称: -
成分重叠: 山药排骨煲:0.67, 生姜肉桂炖虾仁:0.50
大医网药膳食疗: 丁香鸭(exact)
疾病桥接: 反胃, 咳嗽, 脾胃虚弱, 呕吐
药材: 生姜、肉桂、葱
10.8|SJSY-D011 芪蒸鹌鹑(冬/温)
药膳全书名称: -
成分重叠: 山药排骨煲:0.67, 黄芪山药鲫鱼汤:0.50
大医网药膳食疗: 芪蒸鹌鹑(exact)
疾病桥接: 泄泻, 子宫脱垂, 脾虚
药材: 生姜、葱、黄芪
10.8|SJSY-D014 鲫鱼羹(冬/温)
药膳全书名称: 黄芪山药鲫鱼汤(partial), 玉竹沙参鲫鱼汤(partial)
成分重叠: 豆蔻陈皮鲫鱼羹:0.67
大医网药膳食疗: 丝瓜花鲫鱼汤(partial), 二花鲫鱼汤(partial)
疾病桥接: 脾胃虚寒, 痢疾
药材: 葱、陈皮
10.8|SJSY-D024 当归生姜羊肉汤(冬/温)
药膳全书名称: 当归生姜羊肉汤(exact)
成分重叠: 当归生姜羊肉汤:0.67, 当归郁金猪蹄汤:0.40
大医网药膳食疗: 生姜粥(partial), 当归生姜羊肉汤(exact)
疾病桥接: -
药材: 当归、生姜
10.8|SJSY-T016 山药面(四季通用/平)
药膳全书名称: 山药排骨煲(partial), 山药白扁豆粥(partial)
成分重叠: 半夏山药粥:0.67, 山药绿豆糖水:0.50
大医网药膳食疗: 半夏山药粥(partial), 山药茴香燕麦粥(partial)
疾病桥接: 遗精, 泄泻, 脾虚
药材: 山药、淮山
10.8|SJSY-T018 鲤鱼汤(四季通用/平)
药膳全书名称: 杜仲鲤鱼汤(partial), 大蒜白及鲤鱼汤(partial)
成分重叠: 山药排骨煲:0.67, 枸杞蒸鲫鱼:0.50
大医网药膳食疗: 赤小豆鲤鱼汤(partial), 芪参鲤鱼汤(partial)
疾病桥接: 脾虚
药材: 生姜、葱
10.8|SJSY-T032 砂仁肚条(四季通用/温)
药膳全书名称: -
成分重叠: 姜枣花椒汤:0.67
大医网药膳食疗: 砂仁肚条(exact), 砂仁酒(partial)
疾病桥接: 十二指肠溃疡, 胃炎, 慢性胃炎
药材: 生姜、花椒
10.5|SJSY-C007 杜仲腰花(春/温)
药膳全书名称: -
成分重叠: 山药排骨煲:0.50, 杜仲艾叶鸡蛋汤:0.50
大医网药膳食疗: 杜仲腰花(exact), 杜仲酒(partial)
疾病桥接: 高血压, 肾虚, 腰痛
药材: 杜仲、生姜、花椒、葱
10.3|SJSY-C002 天麻鱼头(春/平)
药膳全书名称: -
成分重叠: 山药排骨煲:0.40, 灵芝茯苓炖乌龟:0.40
大医网药膳食疗: 天麻鱼头汤(exact), 天麻鱼头(exact)
疾病桥接: 高血压, 神经衰弱
药材: 天麻、川芎、生姜、茯苓、葱
10.2|SJSY-D002 爆人参鸡片(冬/温)
药膳全书名称: 人参茶(partial), 人参鸡汤(partial)
成分重叠: 山药排骨煲:0.33, 附子生姜炖狗肉:0.33
大医网药膳食疗: 人参鸡汤(partial), 人参酒(partial)
疾病桥接: 脱肛, 气虚, 血虚, 子宫脱垂
药材: 人参、何首乌、制何首乌、瓜蒌、生姜、葱
10.1|SJSY-D030 木瓜汤(冬/温)
药膳全书名称: 枸杞木瓜粥(partial), 木瓜墨鱼汤(partial)
成分重叠: 羊肉草果豌豆粥:0.29
大医网药膳食疗: 木瓜山药蒸鳕鱼(partial), 木瓜粥(exact)
疾病桥接: 气虚
药材: 草果、豌豆
9.5|SJSY-C015 姜醋(春/温)
药膳全书名称: -
成分重叠: -
大医网药膳食疗: 姜醋(exact)
疾病桥接: 胃炎, 胃寒, 慢性胃炎, 腹痛
药材: 生姜
9.5|SJSY-C017 人参菠菜饺子(春/平)
药膳全书名称: 人参茶(partial)
成分重叠: -
大医网药膳食疗: 菠菜粥(partial), 人参酒(partial)
疾病桥接: 贫血, 气血不足
药材: 人参、菠菜、葱
9.5|SJSY-X002 地黄鸡(夏/凉)
药膳全书名称: 六味地黄鸡汤(partial)
成分重叠: -
大医网药膳食疗: 地黄酒(partial), 地黄煎(partial)
疾病桥接: 盗汗, 气血不足, 脾虚
药材: 生地黄
9.5|SJSY-X013 薏仁粥(夏/凉)
药膳全书名称: 薏仁焕彩茶(partial), 绿豆百合薏仁汤(partial)
成分重叠: -
大医网药膳食疗: 桑菊薏仁茶(partial), 郁李仁薏仁粥(partial)
疾病桥接: 脾胃虚弱
药材: 薏苡仁
9.5|SJSY-X014 鱼腥草拌莴笋(夏/凉)
药膳全书名称: 鱼腥草茶(partial)
成分重叠: -
大医网药膳食疗: 鱼腥草饮(partial), 鱼腥草茶(partial)
疾病桥接: 湿热
药材: 莴苣、鱼腥草
9.5|SJSY-X015 荷叶粥(夏/凉)
药膳全书名称: 山楂荷叶泽泻茶(partial), 葛根荷叶田鸡汤(partial)
成分重叠: -
大医网药膳食疗: 荷叶冬瓜汤(partial), 莲籽荷叶蒸湖鸭(partial)
疾病桥接: 泄泻
药材: -
9.5|SJSY-X019 银花露(夏/凉)
药膳全书名称: 天山雪莲金银花煲瘦肉(partial), 鱼腥草银花瘦肉汤(partial)
成分重叠: -
大医网药膳食疗: 银花茶(exact), 板蓝银花茶(partial)
疾病桥接: -
药材: 金银花
9.5|SJSY-Q013 枸杞膏(秋/平)
药膳全书名称: 虫草枸杞鸭汤(partial), 党参枸杞猪肝汤(partial)
成分重叠: -
大医网药膳食疗: 枸杞叶粥(partial), 枸杞五味粥(partial)
疾病桥接: 遗精, 虚劳, 咳嗽
药材: 枸杞子
9.5|SJSY-Q021 人参莲肉汤(秋/平)
药膳全书名称: 人参茶(partial)
成分重叠: -
大医网药膳食疗: 人参酒(partial), 人参汤(partial)
疾病桥接: 泄泻, 自汗, 脾虚
药材: 人参
9.5|SJSY-D001 清蒸人参鸡(冬/温)
药膳全书名称: 人参茶(partial), 人参鸡汤(partial)
成分重叠: -
大医网药膳食疗: 人参鸡汤(partial), 人参酒(partial)
疾病桥接: 阳痿
药材: 人参、葱
9.5|SJSY-D007 金樱子膏(冬/温)
药膳全书名称: -
成分重叠: -
大医网药膳食疗: 金樱子膏(exact), 金樱子粥(exact)
疾病桥接: 滑精, 自汗, 盗汗, 脾虚
药材: 金樱子
9.5|SJSY-D023 人参汤圆(冬/温)
药膳全书名称: 人参茶(partial)
成分重叠: -
大医网药膳食疗: 人参酒(partial), 人参汤(partial)
疾病桥接: 泄泻, 自汗, 脾虚
药材: 人参
9.5|SJSY-D026 红枣粥(冬/温)
药膳全书名称: 鲜莲红枣炖水鸭(partial), 杏仁红枣粥(partial)
成分重叠: -
大医网药膳食疗: 红枣木耳汤(partial), 陈皮红枣茶(partial)
疾病桥接: 脾胃虚弱
药材: 大枣
9.5|SJSY-D034 大麦汤(冬/温)
药膳全书名称: -
成分重叠: -
大医网药膳食疗: 大麦粥(exact), 羊肉大麦汤(partial)
疾病桥接: 脾胃虚寒, 腹痛
药材: 草果
9.5|SJSY-D038 人参米肚(冬/温)
药膳全书名称: 人参茶(partial)
成分重叠: -
大医网药膳食疗: 人参酒(partial), 人参汤(partial)
疾病桥接: 虚劳, 脾胃虚弱, 气虚
药材: 人参、葱
9.5|SJSY-T004 大枣粥(四季通用/平)
药膳全书名称: 大枣阿胶粥(partial), 桂参大枣猪心汤(partial)
成分重叠: -
大医网药膳食疗: 扁豆大枣蒸鲈鱼(partial), 良姜大枣炖羊肉(partial)
疾病桥接: 贫血, 脾胃虚弱
药材: -
9.5|SJSY-T009 茯苓面(四季通用/平)
药膳全书名称: 白术党参茯苓粥(partial), 灵芝茯苓炖乌龟(partial)
成分重叠: -
大医网药膳食疗: 茯苓赤小豆粥(partial), 茯苓粥(exact)
疾病桥接: 脾虚
药材: 茯苓
9.5|SJSY-T010 苡仁面(四季通用/凉)
药膳全书名称: 白果腐竹薏苡仁汤(partial), 慧薏苡仁瓜皮鲫鱼汤(partial)
成分重叠: -
大医网药膳食疗: 薏苡仁粥(partial), 薏苡仁杏仁粥(partial)
疾病桥接: 脾虚
药材: 薏苡仁
9.5|SJSY-T025 五汁膏(四季通用/凉)
药膳全书名称: -
成分重叠: -
大医网药膳食疗: 五汁饮(exact)
疾病桥接: 咳嗽, 高血压, 便秘, 肺热
药材: 梨、荸荠、藕
9.5|SJSY-T038 高粱粥(四季通用/温)
药膳全书名称: -
成分重叠: -
大医网药膳食疗: 高粱粥(exact)
疾病桥接: 肾虚
药材: 桑螵蛸
9.5|SJSY-T044 戒烟糖(四季通用/平)
药膳全书名称: -
成分重叠: -
大医网药膳食疗: 戒烟糖(exact)
疾病桥接: 咳嗽
药材: 人参、地龙、蚯蚓、远志、鱼腥草
9.5|SJSY-T045 百合糖(四季通用/平)
药膳全书名称: 兔肉百合枸杞汤(partial), 百合猪蹄汤(partial)
成分重叠: -
大医网药膳食疗: 汉果百合蒸黄鱼(partial), 酸枣仁百合烧乌鸡(partial)
疾病桥接: 阴虚
药材: 百合
9.5|SJSY-T046 山楂糖(四季通用/平)
药膳全书名称: 山楂麦芽猪腱汤(partial), 梅肉山楂青菜粥(partial)
成分重叠: -
大医网药膳食疗: 山楂麦芽茶(partial), 杜香山楂粥(partial)
疾病桥接: 产后腹痛, 腹痛
药材: 山楂
9.5|SJSY-T047 砂仁糖(四季通用/平)
药膳全书名称: 砂仁黄芪猪肚汤(partial), 砂仁茯皆粥(partial)
成分重叠: -
大医网药膳食疗: 砂仁肚条(partial), 砂仁酒(exact)
疾病桥接: 腹痛, 呕吐
药材: -
9.5|SJSY-T053 白木耳糖(四季通用/凉)
药膳全书名称: -
成分重叠: -
大医网药膳食疗: 白木耳粥(exact)
疾病桥接: 虚劳, 咳嗽
药材: 银耳
9.3|SJSY-C016 首乌肝片(春/平)
药膳全书名称: -
成分重叠: 山药排骨煲:0.67, 枸杞蒸鲫鱼:0.50
大医网药膳食疗: 首乌茶(partial)
疾病桥接: 遗精, 血虚
药材: 制何首乌、生姜、葱
9.3|SJSY-X012 苡仁冬瓜羹(夏/凉)
药膳全书名称: -
成分重叠: 冬瓜小豆汤:0.67, 豆腐冬瓜汤:0.67
大医网药膳食疗: 冬瓜粥(partial), 冬瓜汤(partial)
疾病桥接: 湿热, 暑疖
药材: 冬瓜、南瓜、薏苡仁
9.3|SJSY-Q005 山药肉麻丸(秋/平)
药膳全书名称: -
成分重叠: 半夏山药粥:0.67, 山药绿豆糖水:0.50
大医网药膳食疗: 山药汤(partial), 山药粥(partial)
疾病桥接: 肾虚
药材: 山药、淮山
9.3|SJSY-Q017 山药蛋黄粥(秋/平)
药膳全书名称: -
成分重叠: 半夏山药粥:0.67, 山药绿豆糖水:0.50
大医网药膳食疗: 山药汤(partial), 山药粥(partial)
疾病桥接: 虚劳, 吐血
药材: 山药、淮山
9.3|SJSY-Q020 山药奶肉羹(秋/平)
药膳全书名称: -
成分重叠: 半夏山药粥:0.67, 山药绿豆糖水:0.50
大医网药膳食疗: 山药汤(partial), 山药粥(partial)
疾病桥接: 遗精, 虚劳, 泄泻, 咳嗽
药材: 山药、淮山
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,156 @@
{
"metadata": {
"本库条数": 156,
"对方库": "中华药膳全书(调理药膳336+配方库301)",
"关联条数": 10,
"生成日期": "2026-09-08"
},
"cross_references": [
{
"本库id": "SJSY-X002",
"本库名称": "地黄鸡",
"季节": "夏",
"关联数": 1,
"关联": [
{
"匹配类型": "名称包含",
"对方库": "调理药膳",
"对方id": "152",
"对方名称": "六味地黄鸡汤"
}
]
},
{
"本库id": "SJSY-X009",
"本库名称": "海蜇汤",
"季节": "夏",
"关联数": 1,
"关联": [
{
"匹配类型": "名称包含",
"对方库": "调理药膳",
"对方id": "113",
"对方名称": "马蹄海蜇汤"
}
]
},
{
"本库id": "SJSY-D014",
"本库名称": "鲫鱼羹",
"季节": "冬",
"关联数": 1,
"关联": [
{
"匹配类型": "名称包含",
"对方库": "药膳配方库",
"对方id": "101",
"对方名称": "豆蔻陈皮鲫鱼羹"
}
]
},
{
"本库id": "SJSY-D024",
"本库名称": "当归生姜羊肉汤",
"季节": "冬",
"关联数": 1,
"关联": [
{
"匹配类型": "名称精确",
"对方库": "调理药膳",
"对方id": "328",
"对方名称": "当归生姜羊肉汤"
}
]
},
{
"本库id": "SJSY-D026",
"本库名称": "红枣粥",
"季节": "冬",
"关联数": 1,
"关联": [
{
"匹配类型": "名称包含",
"对方库": "药膳配方库",
"对方id": "039",
"对方名称": "杏仁红枣粥"
}
]
},
{
"本库id": "SJSY-D029",
"本库名称": "当归羊肉羹",
"季节": "冬",
"关联数": 1,
"关联": [
{
"匹配类型": "名称精确",
"对方库": "调理药膳",
"对方id": "034",
"对方名称": "当归羊肉羹"
}
]
},
{
"本库id": "SJSY-D036",
"本库名称": "羊肉萝卜汤",
"季节": "冬",
"关联数": 1,
"关联": [
{
"匹配类型": "名称包含",
"对方库": "药膳配方库",
"对方id": "123",
"对方名称": "杜仲羊肉萝卜汤"
}
]
},
{
"本库id": "SJSY-T018",
"本库名称": "鲤鱼汤",
"季节": "四季通用",
"关联数": 2,
"关联": [
{
"匹配类型": "名称包含",
"对方库": "调理药膳",
"对方id": "191",
"对方名称": "杜仲鲤鱼汤"
},
{
"匹配类型": "名称包含",
"对方库": "调理药膳",
"对方id": "304",
"对方名称": "大蒜白及鲤鱼汤"
}
]
},
{
"本库id": "SJSY-T039",
"本库名称": "红枣糯米粥",
"季节": "四季通用",
"关联数": 1,
"关联": [
{
"匹配类型": "名称精确",
"对方库": "调理药膳",
"对方id": "189",
"对方名称": "红枣糯米粥"
}
]
},
{
"本库id": "SJSY-T040",
"本库名称": "人参粥",
"季节": "四季通用",
"关联数": 1,
"关联": [
{
"匹配类型": "名称包含",
"对方库": "药膳配方库",
"对方id": "258",
"对方名称": "阿胶桂圆人参粥"
}
]
}
]
}
@@ -0,0 +1,106 @@
# 《四季调养药膳》资料库建档报告
> 建档日期: 2026-09-08 | 谱系: 01_来源数据(原始md+图1) → 02_加工数据(清洗+结构化) → 03_关联融合(药膳全书/大医网) → 04_分析报告(本文)
## 一、来源与总量
| 项 | 值 |
|---|---|
| 来源文件 | 四季调养药膳.md(电子转换版,176KB / 3177行) |
| 收录药膳 | **156条**(每条含 配方/功效/制作/食法/宜忌/解析 六字段+标题性味标注) |
| 章节 | 总论(四季五补/四季施膳/五宜五补/四因施膳/四季对食物的选择) + 春17 夏19 秋27 冬40 四季通用53 |
| 性味分布 | 平59 / 温54 / 凉39 / 热4 |
| 编号规则 | SJSY-{C春|X夏|Q秋|D冬|T通用}+三位序号 |
## 二、文本清洗(22处结构重排 + 2处错字,全部有依据可溯)
本源文件为**数字转换版**(非扫描OCR),正文质量高,但存在**PDF双栏串行错乱**(左右栏文字按行交错拼入)这一主要杂质类型:
| 类型 | 处数 | 代表条目 | 处理依据 |
|---|---|---|---|
| 双栏串行重排 | 13 | 琼玉膏(整条重排)、参麦甲鱼(秋)、百合梨膏、当归羊肉羹、蒸鸡、桑菊蜜膏、二仁全鸭、八宝鸡汤 | 原文残片逐字拼合;同类条目句式佐证;本条内文自证(如蒸鸡"黄芪"由其制作行"将当归、黄芪装入鸡腹内"补回) |
| 被掩埋条目复原 | 1 | **茯苓面(平)** — 第156条,标题被串行污染掩埋 | 残片含完整配方/制作/宜忌,逐字复原 |
| 孤儿断片 | 1 | 燕窝汤后的"莲子蜂蜜膏"残方(标题丢失) | 不入正式条目,记录于清洗报告 |
| 表格断片拼回 | 10 | 各条【解析】被页界`<table>`截断的续文 | 拼回原字段,半角标点转全角 |
| 形近错字 | 3 | 佐養→佐餐、宣忌→宜忌、纲蕴→氤氲 | 语境定论 |
| 页码残留 | 1 | "-171 -" | 删除 |
**如实保留不臆改项**(均已标记于条目`数据质量`字段):
- 银杏炖鸭:解析"中老年人止"后疑脱字
- 蒸鸡:宜忌仅存"不宜食。"疑截断
- 第四章章标在转换中丢失(秋季章由章名识别)
- 茯苓面归经"心、胃"与通行"心、脾、肾"不一致,按原文保留
清洗后:**156/156条 六字段全满**,0残留污染。
## 三、库内结构分析
**季节×性味交叉**(验证"四季五补"理论在本书配方的落实):
| 季节 | 平 | 温 | 凉 | 热 | 主导补法 |
|---|---|---|---|---|---|
| 春(17) | 10 | 3 | 4 | — | 升补(凉平温均衡,应寒温交替) |
| 夏(19) | 1 | 1 | 17 | — | 清补(凉性89%) |
| 秋(27) | 15 | 4 | 8 | — | 平补(平性56%) |
| 冬(40) | 1 | 35 | — | 4 | 温补(温热98%) |
| 四季通用(53) | 32 | 11 | 10 | — | 平补为主 |
**功效关键词TOP10**: 健脾53 / 益气51 / 润燥34 / 滋阴30 / 润肺29 / 清热29 / 补肾26 / 解毒25 / 生津25 / 补气25
**剂型**: 汤18、粥17、羹15、膏14、糖11、鸡鸭类14、面6……(膏/糖剂集中在秋冬与通用章)
**宜忌主题**: 无特殊禁忌80条 / 感冒发热忌18 / 泄泻便溏忌10 / 脾胃虚寒忌2
**总论理论要点**(已结构化为 四季五补对照表.json): 春升补-肝-木 / 夏清补-心-火 / 长夏淡补-脾-土 / 秋平补-肺-金 / 冬温补-肾-水,配五行相生环(图1已归档)。
## 四、跨库关联
### × 中华药膳全书(调理药膳336 + 配方库301): 10条
- 名称精确3: 当归生姜羊肉汤、当归羊肉羹、红枣糯米粥
- 名称包含7: 地黄鸡↔六味地黄鸡汤、海蜇汤↔马蹄海蜇汤、鲫鱼羹↔豆蔻陈皮鲫鱼羹 等
### × 大医网(方剂1000 + 药膳食疗1000 + 中药材1000): 133条有药材关联、49条有药膳食疗关联
- **药膳食疗同名命中**: 当归生姜羊肉汤(1007765)等49条——可直接跳转大医网条目互证
- **方剂关联0条**: 大医网方剂库为1000方随机抽样,无羊肉汤/ẓ类滋补名方,属抽样覆盖问题,非本库缺失
- **药材去重86味**, TOP10: 生姜43 / 党参10 / 山药10 / 淮山10 / 当归8 / 薏苡仁8 / 人参8 / 草果7 / 花椒7 / 黄芪7
### 关联算法要点(可复用)
1. 药材名最长前缀匹配 + span防重叠("料酒"不再误命中"酒")
2. **食材撞名别名黑名单**(本次新发现陷阱): 大医网民间别名与食材同名——牛耳枫子别名"猪肚"、黄芪别名"羊肉"、车前草别名"猪肚子"、鱼胶别名"鱼肚/鱼白"、鲃鱼别名"青鱼",已全部屏蔽
3. 炮制前缀宽容(生黄芪→石膏类不漏配)与形态后缀宽容(黄芪片→黄芪)
4. 1字词不参与匹配(防"葱""姜"类噪声外的误配)
## 五、与既有库的关系
- **中华药膳全书**: 同为书源药膳库,ETL结构一致,10条直接交叠;药膳全书按"症状/季节"组织,本书按"季节"组织,可互补检索
- **大医网**: 药膳食疗库命中49条提供"书方↔百科条目"互证通道;药材库提供86味药材的性味归经溯源
- **健康管理师教材**: 待后续按Phase ⑫流程扩展(药膳功效↔现代营养学概念映射)
## 六、文件清单
```
四季调养药膳/
├── 01_来源数据/
│ ├── 四季调养药膳_原始.md 原始文档(未改动)
│ └── images/30fda34b*.jpg 图1 四季五补与五行关系
├── 02_加工数据/
│ ├── 四季调养药膳.json 156条结构化(主数据)
│ ├── 索引_季节分类.json 5章索引+导读
│ ├── 索引_性味分类.json 平温凉热索引
│ ├── 四季五补对照表.json 总论表+图1结构化
│ └── 文本清洗报告.json 22处重排+错字修正全记录
├── 03_关联融合/
│ ├── 四季调养-药膳全书_交叉关联.json
│ └── 四季调养-大医网_交叉关联.json
├── 04_分析报告/
│ └── 四季调养药膳_建档报告.md 本文
└── 05_脚本工具/
├── parse_and_clean.py 解析+清洗(可重跑)
└── cross_link.py 跨库关联(可重跑)
```
## 七、遗留事项
1. 燕窝汤后孤儿断片疑为"莲子蜂蜜膏"残方——若有原书纸本可对照补全
2. 图1仅有1张理论图,正文配方章节无图
3. 建议后续: ①纳入 tcm-theme-deep-mining 做四季主题深挖 ②与中医体质库做"体质×季节"双维推荐 ③健康管理师教材关联(Phase ⑫)
@@ -0,0 +1,224 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
四季调养药膳 — 跨库交叉关联脚本
方向:
A. 四季调养药膳 × 中华药膳全书(调理药膳336/配方库301): 名称精确+包含匹配
B. 四季调养药膳 × 大医网中药材1000: 配方中的药材名匹配(最长前缀+别名表)
C. 四季调养药膳 × 大医网方剂1000: 名称精确+包含匹配
输出: 03_关联融合/四季调养-药膳全书_交叉关联.json
03_关联融合/四季调养-大医网_交叉关联.json
"""
import json, os, re, collections
BASE = os.path.expanduser('~/Documents/ai_agent_scraper_study/data')
SJSY = os.path.join(BASE, '四季调养药膳', '02_加工数据', '四季调养药膳.json')
FUSION = os.path.join(BASE, '四季调养药膳', '03_关联融合')
sjsy = json.load(open(SJSY, encoding='utf-8'))['recipes']
# ============ B 前置: 大医网药材名与别名表 ============
herb_dir = os.path.join(BASE, '大医网', '01_来源数据', '中药材')
herb_names = [] # (名称, file_id)
herb_alias = collections.defaultdict(set) # 别名 -> {正名}
for fn in sorted(os.listdir(herb_dir)):
if not fn.endswith('.json'):
continue
try:
d = json.load(open(os.path.join(herb_dir, fn), encoding='utf-8'))
except Exception:
continue
name = d.get('名称', '').strip()
if not name:
continue
fid = fn.split('_')[0]
herb_names.append((name, fid))
for al in re.split(r'[,,、;;\s]+', d.get('别名', '') or ''):
al = al.strip()
if 1 < len(al) <= 6:
herb_alias[al].add(name)
# 别名补充(药膳常用):
EXTRA_ALIAS = {'杞子': '枸杞子', '红枣': '大枣', '圆肉': '龙眼肉',
'苡仁': '薏苡仁', '薏仁': '薏苡仁',
'苡米': '薏苡仁', '薏苡米': '薏苡仁', '麦门冬': '麦冬', '天门冬': '天冬',
'云苓': '茯苓', '白苓': '茯苓', '银花': '金银花', '双花': '金银花',
'虫草': '冬虫夏草', '广木香': '木香', '首乌': '何首乌', '制首乌': '何首乌',
'白果': '银杏叶', '燕菜': '燕窝'}
for a, n in EXTRA_ALIAS.items():
herb_alias[a].add(n)
# 非药材词(调味/厨料, 不做药材匹配; 大医网无对应条目或属食材常识)
NON_HERB = {'料酒', '绍酒', '黄酒', '米酒', '白酒', '素油', '菜油', '麻油', '香油',
'味精', '食盐', '精盐', '白糖', '冰糖', '红糖', '蜂蜜', '酱油', '醋',
'淀粉', '水淀粉', '玉米粉', '面粉', '米粉', '糯米粉', '药包', '网油',
'清汤', '高汤', '鸡汤', '上汤', '开水', '温水', '凉水', '淘米水'}
# 食材撞名别名黑名单: 大医网民间别名与食材同名, 禁止用作匹配
# (牛耳枫子别名"猪肚"、黄芪别名"羊肉"、车前草别名"猪肚子"、鱼胶别名"鱼肚/鱼白"、鲃鱼别名"青鱼")
FOOD_COLLISION_ALIAS = {'猪肚', '猪肚子', '羊肉', '鱼肚', '鱼白', '青鱼', '蜂乳'}
# 处理前缀(匹配时剥去): 炙/制/炒/煨/煅/焦/霜/法/飞/熟/生
PROC_PREFIX = re.compile(r'^(炙|制|炒|煨|煅|焦|霜|法|飞|熟|生)(?=[\u4e00-\u9fff]{2,})')
# 最长前缀排序列表(含别名), 排除非药材词
all_terms = sorted(set([n for n, _ in herb_names] + list(herb_alias.keys()))
- NON_HERB - FOOD_COLLISION_ALIAS,
key=len, reverse=True)
term2names = collections.defaultdict(set)
for n, _ in herb_names:
term2names[n].add(n)
for a, names in herb_alias.items():
for n in names:
term2names[a].add(n)
# 炮制前缀(允许出现在药材名左侧)与形态后缀(允许出现在右侧)
LEFT_OK = set('炙制炒煨煅焦法霜飞生熟粉鲜嫩干白')
RIGHT_OK = set('片末粉霜茸丝')
def extract_herbs(material_text):
"""从配方文本抽取药材名(最长前缀+span防重叠+炮制前缀/形态后缀宽容)"""
found = collections.defaultdict(set) # 大医网正名 -> 原文写法
occupied = [] # 已命中的字符区间, 防止短词嵌在长词/调味词内部
def taken(a, b):
return any(not (b <= s or a >= e) for s, e in occupied)
ONE_CHAR_OK = {'葱', '梨', '藕'} # 大医网仅有的3个安全1字药名(边界检查防雪梨/料酒类误配)
for term in all_terms:
if len(term) < 2 and term not in ONE_CHAR_OK:
continue # 1字词仅放行白名单
for m in re.finditer(re.escape(term), material_text):
a, b = m.start(), m.end()
if taken(a, b):
continue
# 左界: 前一字符须非汉字, 或为炮制前缀(且前缀+词不是更长的药材名)
if a > 0 and '\u4e00' <= material_text[a-1] <= '\u9fff':
if material_text[a-1] not in LEFT_OK or (material_text[a-1] + term) in all_terms:
continue
# 右界: 后一字符须非汉字, 或为形态后缀(且词+后缀不是更长的药材名)
if b < len(material_text) and '\u4e00' <= material_text[b] <= '\u9fff':
if material_text[b] not in RIGHT_OK or (term + material_text[b]) in all_terms:
continue
occupied.append((a, b))
for canon in term2names[term]:
found[canon].add(m.group(0))
return found
# ============ A: × 中华药膳全书 ============
book_files = {
'调理药膳': os.path.join(BASE, '中华药膳全书学做药膳不生病', '01_来源数据', '调理药膳.json'),
'药膳配方库': os.path.join(BASE, '中华药膳全书学做药膳不生病', '01_来源数据', '药膳配方库_recipes.json'),
}
book_records = []
for src, fp in book_files.items():
if os.path.exists(fp):
for rec in json.load(open(fp, encoding='utf-8')):
book_records.append({'来源': src, **{k: rec.get(k, '') for k in ('id', '名称', 'name', '症状', 'category')}})
norm = lambda s: re.sub(r'[\s()()。,,、的]', '', s or '')
book_by_norm = collections.defaultdict(list)
for rec in book_records:
nm = rec.get('名称') or rec.get('name')
if nm:
book_by_norm[norm(nm)].append(rec)
link_book = []
for r in sjsy:
hits = []
key = norm(r['名称'])
if key in book_by_norm:
for rec in book_by_norm[key]:
hits.append({'匹配类型': '名称精确', '对方库': rec['来源'],
'对方id': rec.get('id') or rec.get('category', ''), '对方名称': rec.get('名称') or rec.get('name')})
else:
for rec in book_records:
other = rec.get('名称') or rec.get('name') or ''
if not other:
continue
no, nk = norm(other), key
if len(no) >= 3 and (no in nk or nk in no):
hits.append({'匹配类型': '名称包含', '对方库': rec['来源'],
'对方id': rec.get('id') or rec.get('category', ''), '对方名称': other})
if hits:
link_book.append({'本库id': r['id'], '本库名称': r['名称'], '季节': r['季节'],
'关联数': len(hits), '关联': hits})
# ============ D: × 大医网药膳食疗1000 ============
diet_dir = os.path.join(BASE, '大医网', '01_来源数据', '药膳食疗')
diet_idx = []
for fn in sorted(os.listdir(diet_dir)):
if fn.endswith('.json'):
try:
d = json.load(open(os.path.join(diet_dir, fn), encoding='utf-8'))
nm = (d.get('名称') or '').strip()
if nm:
diet_idx.append({'名称': nm, 'file_id': fn.split('_')[0]})
except Exception:
pass
# ============ C: × 大医网方剂 ============
formula_dir = os.path.join(BASE, '大医网', '01_来源数据', '方剂')
formula_idx = {}
for fn in sorted(os.listdir(formula_dir)):
if fn.endswith('.json'):
try:
d = json.load(open(os.path.join(formula_dir, fn), encoding='utf-8'))
nm = (d.get('名称') or d.get('方名') or '').strip()
if nm:
formula_idx[nm] = fn.split('_')[0]
except Exception:
pass
link_dayi = []
herb_hit_count = collections.Counter()
for r in sjsy:
rec = {'本库id': r['id'], '本库名称': r['名称'], '季节': r['季节'], '性味': r['性味']}
key = norm(r['名称'])
# C: 方剂名称匹配
f_hits = []
for nm, fid in formula_idx.items():
nk = norm(nm)
if nk == key or (len(nk) >= 3 and (nk in key or key in nk)):
f_hits.append({'方剂': nm, 'file_id': fid})
rec['关联方剂'] = f_hits
# D: 药膳食疗名称匹配(本库名称↔药膳食疗名称, 单向包含)
d_hits = []
for it in diet_idx:
nk = norm(it['名称'])
if nk == key or (len(nk) >= 3 and (nk in key or key in nk)):
d_hits.append({'药膳食疗': it['名称'], 'file_id': it['file_id']})
rec['关联药膳食疗'] = d_hits
# B: 药材匹配(配方文本)
herbs = extract_herbs(r['配方'])
rec['关联药材'] = sorted(herbs.keys())
rec['药材原文写法'] = {k: sorted(v) for k, v in sorted(herbs.items())}
for h in herbs:
herb_hit_count[h] += 1
link_dayi.append(rec)
os.makedirs(FUSION, exist_ok=True)
with open(os.path.join(FUSION, '四季调养-药膳全书_交叉关联.json'), 'w', encoding='utf-8') as f:
json.dump({'metadata': {'本库条数': len(sjsy), '对方库': '中华药膳全书(调理药膳336+配方库301)',
'关联条数': len(link_book), '生成日期': '2026-09-08'},
'cross_references': link_book}, f, ensure_ascii=False, indent=1)
with open(os.path.join(FUSION, '四季调养-大医网_交叉关联.json'), 'w', encoding='utf-8') as f:
json.dump({'metadata': {'本库条数': len(sjsy),
'对方库': '大医网(方剂1000+药膳食疗1000+中药材1000)',
'药材命中TOP30': herb_hit_count.most_common(30),
'有药材关联条数': sum(1 for x in link_dayi if x['关联药材']),
'有方剂关联条数': sum(1 for x in link_dayi if x['关联方剂']),
'有药膳食疗关联条数': sum(1 for x in link_dayi if x['关联药膳食疗']),
'生成日期': '2026-09-08'},
'cross_references': link_dayi}, f, ensure_ascii=False, indent=1)
print(f"药膳全书关联: {len(link_book)}/{len(sjsy)} 条")
print(f"大医网: 有药材关联 {sum(1 for x in link_dayi if x['关联药材'])} 条, 有方剂关联 {sum(1 for x in link_dayi if x['关联方剂'])} 条, 有药膳食疗关联 {sum(1 for x in link_dayi if x['关联药膳食疗'])} 条")
print("药材命中TOP15:", herb_hit_count.most_common(15))
print("\n抽样(苡仁炖猪蹄):")
for x in link_dayi:
if x['本库名称'] == '苡仁炖猪蹄':
print(json.dumps(x, ensure_ascii=False, indent=1))
print("\n抽样(当归生姜羊肉汤):")
for x in link_dayi:
if x['本库名称'] == '当归生姜羊肉汤':
print(json.dumps({k: x[k] for k in ('本库id','关联方剂','关联药膳食疗','关联药材')}, ensure_ascii=False, indent=1))
@@ -0,0 +1,287 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
四季调养药膳 × 多库全量关联 (参照 中华药膳全书-大医网 关联方法)
策略(按cross-database-linking.md):
①名称匹配(去剂型后缀, 精确3.0/包含1.5) ②成分重叠(≥2共现, 2.0/对) ③功效关键词(1.0/个)
④症状/疾病桥接(功效关键词→疾病名称/常见症状)
目标库:
A. 中华药膳全书 637方(配方库301富关联+调理药膳336) — 名称+成分重叠
B. 大医网药膳食疗1000 — 名称+功效关键词
C. 大医网中药材1000 — 配方药材成分(canonical, 含性味归经/功效溯源)
D. 大医网疾病998 — 症状桥接(功效适用症→疾病名/常见症状)
输出: 03_关联融合/四季调养-多库关联.json (全字段)
03_关联融合/四季调养-多库关联_强关联TOP50.json
"""
import json, os, re, collections
BASE = os.path.expanduser('~/Documents/ai_agent_scraper_study/data')
SJSY_DIR = os.path.join(BASE, '四季调养药膳')
sjsy = json.load(open(SJSY_DIR + '/02_加工数据/四季调养药膳.json', encoding='utf-8'))['recipes']
# ---------- 通用工具 ----------
DOSAGE_FORM = r'[汤粥羹茶酒饮膏糊汁露浆煎饼糕面饭包卷丸散丹锭条片剂液糖]'
def norm_name(s):
return re.sub(DOSAGE_FORM, '', re.sub(r'[\s()()。,,、的]', '', s or ''))
def extract_efficacy_keywords(text):
pats = [
r'[滋阴补阳益气养血健脾疏肝理肺补肾和胃安神定志祛风散寒清热解暑利湿化痰活血化瘀消肿止痛通经活络]',
r'补[气血阴阳肝肾脾肺心精骨髓]', r'滋[阴肾]|益[气精血肝脾肾肺心]',
r'养[血阴心神肝胃肺肾]|健[脾胃]', r'祛[风寒湿暑热痰瘀邪]|散[寒风热瘀结]',
r'清[热暑湿解毒火肝肺胃心]|解[表毒暑热郁]', r'止[咳痛泻血带痒吐]|化[痰瘀湿积石]',
r'消[肿食积炎毒]|利[水尿湿咽]', r'通[经络便乳脉窍]|润[肺肠燥肤喉]',
r'疏[风肝散]|活[血络]|降[气逆火压糖]', r'调[经中补和]|平[喘肝逆]|宣[肺痹通]',
r'助[消化眠阳]|安[神胎]|定[喘惊]',
]
kw = set()
for p in pats:
kw.update(re.findall(p, text or ''))
return kw
# ---------- 四季库: 配方成分抽取(复用cross_link的黑名单/前缀后缀规则) ----------
herb_dir = os.path.join(BASE, '大医网', '01_来源数据', '中药材')
herb_names, herb_alias = [], collections.defaultdict(set)
for fn in sorted(os.listdir(herb_dir)):
if not fn.endswith('.json'):
continue
try:
d = json.load(open(os.path.join(herb_dir, fn), encoding='utf-8'))
except Exception:
continue
name = (d.get('名称') or '').strip()
if not name:
continue
herb_names.append((name, fn.split('_')[0]))
for al in re.split(r'[,,、;;\s]+', d.get('别名', '') or ''):
if 1 < len(al) <= 6:
herb_alias[al].add(name)
NON_HERB = {'料酒','绍酒','黄酒','米酒','白酒','素油','菜油','麻油','香油','味精','食盐','精盐',
'白糖','冰糖','红糖','蜂蜜','酱油','醋','淀粉','水淀粉','玉米粉','面粉','米粉','糯米粉',
'药包','网油','清汤','高汤','鸡汤','上汤','开水','温水','凉水','淘米水'}
FOOD_COLLISION_ALIAS = {'猪肚','猪肚子','羊肉','鱼肚','鱼白','青鱼','蜂乳'}
EXTRA_ALIAS = {'杞子':'枸杞子','红枣':'大枣','圆肉':'龙眼肉','苡仁':'薏苡仁','薏仁':'薏苡仁',
'苡米':'薏苡仁','薏苡米':'薏苡仁','麦门冬':'麦冬','天门冬':'天冬','云苓':'茯苓',
'白苓':'茯苓','银花':'金银花','双花':'金银花','虫草':'冬虫夏草','广木香':'木香',
'首乌':'何首乌','制首乌':'何首乌','燕菜':'燕窝'}
# 注意: 不设 '白果'→'银杏叶' — 白果(种子)与银杏叶(叶)是不同药材, 大医网无白果条目时宁缺勿错
for a, n in EXTRA_ALIAS.items():
herb_alias[a].add(n)
all_terms = sorted(set([n for n, _ in herb_names] + list(herb_alias.keys()))
- NON_HERB - FOOD_COLLISION_ALIAS, key=len, reverse=True)
term2names = collections.defaultdict(set)
for n, _ in herb_names:
term2names[n].add(n)
for a, names in herb_alias.items():
for n in names:
term2names[a].add(n)
LEFT_OK = set('炙制炒煨煅焦法霜飞生熟粉鲜嫩干白')
RIGHT_OK = set('片末粉霜茸丝仁心皮边')
def extract_herbs(material_text):
found = collections.defaultdict(set)
occupied = []
def taken(a, b):
return any(not (b <= s or a >= e) for s, e in occupied)
ONE_CHAR_OK = {'葱', '梨', '藕'} # 大医网仅有的3个安全1字药名(边界检查防雪梨/料酒类误配)
for term in all_terms:
if len(term) < 2 and term not in ONE_CHAR_OK:
continue # 1字词仅放行白名单
for m in re.finditer(re.escape(term), material_text or ''):
a, b = m.start(), m.end()
if taken(a, b):
continue
if a > 0 and '\u4e00' <= material_text[a-1] <= '\u9fff':
if material_text[a-1] not in LEFT_OK or (material_text[a-1] + term) in all_terms:
continue
if b < len(material_text) and '\u4e00' <= material_text[b] <= '\u9fff':
if material_text[b] not in RIGHT_OK or (term + material_text[b]) in all_terms:
continue
occupied.append((a, b))
for canon in term2names[term]:
found[canon].add(m.group(0))
return found
# 每条四季药膳预计算: 药材成分 + 功效关键词
for r in sjsy:
herbs = extract_herbs(r['配方'])
r['药材成分'] = [{'canonical_name': k, 'raw_name': sorted(v)[0]} for k, v in sorted(herbs.items())]
r['功效关键词'] = sorted(extract_efficacy_keywords(r['功效'] + ' ' + r['解析']))
r['normalized_name'] = norm_name(r['名称'])
# ---------- 目标库A: 中华药膳全书 637 ----------
BJ = os.path.join(BASE, '中华药膳全书学做药膳不生病')
zhong = []
rich = json.load(open(BJ + '/02_加工数据/药膳配方库_recipes_富关联.json', encoding='utf-8'))
for rec in rich:
ings = [x['canonical_name'] for x in rec.get('药材成分', [])] + \
[x['canonical_name'] for x in rec.get('食材成分', [])]
zhong.append({'库': '配方库', 'id': rec['id'], '名称': rec['name'],
'成分': set(ings), '功效': extract_efficacy_keywords(rec.get('功能效用', '')),
'normalized': norm_name(rec['name'])})
for rec in json.load(open(BJ + '/01_来源数据/调理药膳.json', encoding='utf-8')):
ings = set(extract_herbs(rec.get('材料准备', '')).keys())
# 补充食材词(简单抽取: 2-6字中文段)
for p in re.split(r'[、,,。;;()()克毫升适量各少许\d]+', rec.get('材料准备', '')):
p = p.strip()
if 2 <= len(p) <= 6:
ings.add(p)
zhong.append({'库': '调理药膳', 'id': rec['id'], '名称': rec['名称'],
'成分': ings, '功效': extract_efficacy_keywords(rec.get('功能效用', '')),
'normalized': norm_name(rec['名称'])})
print(f"药膳全书目标: {len(zhong)} 方")
# ---------- 目标库B: 大医网药膳食疗 ----------
diet_dir = os.path.join(BASE, '大医网', '01_来源数据', '药膳食疗')
diets = []
for fn in sorted(os.listdir(diet_dir)):
if fn.endswith('.json'):
try:
d = json.load(open(os.path.join(diet_dir, fn), encoding='utf-8'))
except Exception:
continue
nm = (d.get('名称') or '').strip()
if nm:
diets.append({'id': fn.split('_')[0], '名称': nm,
'功效': extract_efficacy_keywords((d.get('功效') or '') + (d.get('简介') or '')[:200]),
'normalized': norm_name(nm)})
print(f"大医网药膳食疗目标: {len(diets)} 条")
# ---------- 目标库C: 大医网中药材(名称→file_id索引) ----------
herb_id = {n: fid for n, fid in herb_names}
# ---------- 目标库D: 大医网疾病 ----------
dis_dir = os.path.join(BASE, '大医网', '01_来源数据', '疾病')
diseases = []
for fn in sorted(os.listdir(dis_dir)):
if fn.endswith('.json'):
try:
d = json.load(open(os.path.join(dis_dir, fn), encoding='utf-8'))
except Exception:
continue
nm = (d.get('名称') or '').strip()
if not nm:
continue
# 常见症状字段可能为dict/str
cs = d.get('常见症状', '')
if isinstance(cs, dict):
cs = ' '.join(str(v) for v in cs.values())
sym = d.get('症状', '')
if isinstance(sym, dict):
sym = ' '.join(str(v) for v in sym.values())
diseases.append({'id': fn.split('_')[0], '名称': nm, '常见症状': cs or '', '症状': sym or ''})
print(f"大医网疾病目标: {len(diseases)} 条")
# ---------- 主循环: 四策略 ----------
cross = []
stats = collections.Counter()
for r in sjsy:
rec = {'id': r['id'], '名称': r['名称'], '季节': r['季节'], '性味': r['性味']}
my_ing = {x['canonical_name'] for x in r['药材成分']}
my_kw = set(r['功效关键词'])
# ①名称 + ②成分 + ③功效 → 药膳全书
m_zhong, ing_zhong, eff_zhong = [], [], []
my_norm = r['normalized_name']
for z in zhong:
if my_norm and z['normalized'] == my_norm:
m_zhong.append([z['库'], z['id'], z['名称'], 'exact'])
elif len(z['normalized']) >= 2 and len(my_norm) >= 2 and \
(z['normalized'] in my_norm or my_norm in z['normalized']):
m_zhong.append([z['库'], z['id'], z['名称'], 'partial'])
common = my_ing & z['成分']
if len(common) >= 2:
ratio = round(len(common) / max(len(my_ing), len(z['成分'])), 3)
ing_zhong.append([z['库'], z['id'], z['名称'], ratio, sorted(common)])
eff = my_kw & z['功效']
if len(eff) >= 2:
eff_zhong.append([z['库'], z['id'], z['名称'], len(eff), sorted(eff)])
ing_zhong.sort(key=lambda x: -x[3]); eff_zhong.sort(key=lambda x: -x[3])
rec['药膳全书_名称'] = m_zhong[:5]
rec['药膳全书_成分重叠'] = ing_zhong[:5]
rec['药膳全书_功效重叠'] = eff_zhong[:5]
# B: 药膳食疗 (名称+功效)
m_diet, eff_diet = [], []
for z in diets:
if my_norm and z['normalized'] == my_norm:
m_diet.append([z['id'], z['名称'], 'exact'])
elif len(z['normalized']) >= 2 and len(my_norm) >= 2 and \
(z['normalized'] in my_norm or my_norm in z['normalized']):
m_diet.append([z['id'], z['名称'], 'partial'])
eff = my_kw & z['功效']
if len(eff) >= 2:
eff_diet.append([z['id'], z['名称'], len(eff), sorted(eff)])
eff_diet.sort(key=lambda x: -x[2])
rec['大医网药膳食疗_名称'] = m_diet[:5]
rec['大医网药膳食疗_功效重叠'] = eff_diet[:5]
# C: 中药材 (成分→性味归经溯源)
rec['大医网中药材'] = [{'canonical_name': x['canonical_name'], 'raw_name': x['raw_name'],
'file_id': herb_id.get(x['canonical_name'], '')} for x in r['药材成分']]
# D: 疾病桥接 (功效文本中的适用症 → 疾病名/常见症状)
eff_text = r['功效']
d_hits = []
for z in diseases:
score = 0
why = []
if z['名称'] and z['名称'] in eff_text:
score += 3; why.append('名称直配')
else:
# 症状词桥接: 疾病名2-4字出现在功效文本; 或功效关键词在疾病常见症状中
for kw in my_kw:
if len(kw) >= 2 and kw in (z['常见症状'] or ''):
score += 1; why.append(kw)
if score >= 2:
d_hits.append([z['id'], z['名称'], score, sorted(set(why))])
d_hits.sort(key=lambda x: -x[2])
rec['大医网疾病_桥接'] = d_hits[:8]
# 综合评分
strong = bool(m_zhong and (ing_zhong or eff_zhong))
score = 0
if m_zhong:
score += 3 if m_zhong[0][3] == 'exact' else 1.5
if ing_zhong:
score += ing_zhong[0][3] * 2
if eff_zhong:
score += min(eff_zhong[0][3], 5)
if m_diet:
score += 3 if m_diet[0][2] == 'exact' else 1.5
if d_hits:
score += d_hits[0][2] * 0.5
rec['综合关联分'] = round(score, 1)
rec['强关联'] = strong
stats['强关联' if strong else '普通'] += 1
if any([m_zhong, ing_zhong, eff_zhong, m_diet, eff_diet, rec['大医网中药材'], d_hits]):
stats['有任意关联'] += 1
cross.append(rec)
# ---------- 输出 ----------
out_dir = os.path.join(SJSY_DIR, '03_关联融合')
top = sorted(cross, key=lambda x: -x['综合关联分'])[:50]
with open(os.path.join(out_dir, '四季调养-多库关联.json'), 'w', encoding='utf-8') as f:
json.dump({'metadata': {'本库': '四季调养药膳(156条)',
'目标库': {'A': '中华药膳全书637方(配方库301富关联+调理药膳336)',
'B': '大医网药膳食疗1000', 'C': '大医网中药材1000',
'D': '大医网疾病998'},
'策略': ['①名称匹配', '②成分重叠≥2', '③功效关键词≥2', '④症状疾病桥接'],
'统计': dict(stats),
'药材成分去重数': len({x['canonical_name'] for r in sjsy for x in r['药材成分']}),
'生成日期': '2026-09-08'},
'cross_references': cross}, f, ensure_ascii=False, indent=1)
with open(os.path.join(out_dir, '四季调养-多库关联_强关联TOP50.json'), 'w', encoding='utf-8') as f:
json.dump({'metadata': {'说明': '按综合关联分排序的TOP50', '字段': '同主文件'},
'top50': top}, f, ensure_ascii=False, indent=1)
print(f"\n强关联: {stats['强关联']}, 有任意关联: {stats['有任意关联']}/156")
print("\n=== TOP5 综合关联示例 ===")
for r in top[:5]:
print(f"{r['综合关联分']:5.1f} {r['id']} {r['名称']}({r['季节']}/{r['性味']})")
print(f" 药膳全书名称: {r['药膳全书_名称'][:2]}")
print(f" 成分重叠TOP2: {[x[2] for x in r['药膳全书_成分重叠'][:2]]}")
print(f" 疾病桥接TOP3: {[x[1] for x in r['大医网疾病_桥接'][:3]]}")
@@ -0,0 +1,312 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
四季调养药膳 — 解析+文本清洗脚本
输入: 01_来源数据/四季调养药膳_原始.md
输出: 02_加工数据/四季调养药膳.json 155条结构化药膳
02_加工数据/索引_季节分类.json 5章索引+章节导读
02_加工数据/索引_性味分类.json 平温凉热四性索引
02_加工数据/四季五补对照表.json 总论五行表结构化
02_加工数据/文本清洗报告.json 修正记录+质量标记统计
清洗规则:
1. 纲蕴→氤氲 (形近错字, 长夏湿邪语境定论)
2. 不宜患食→不宜食用 (OCR倒序错字)
3. <table>断片拼回【解析】(电子转换页界截断, 半角标点转全角)
4. 拼回后不以句号结尾者标记"解析疑似截断" (如实保留, 不臆补)
5. "中老年人止"疑似缺字 — 如实保留+标记, 不臆改
"""
import re, json, os, collections
BASE = os.path.expanduser('~/Documents/ai_agent_scraper_study/data/四季调养药膳')
SRC = os.path.join(BASE, '01_来源数据', '四季调养药膳_原始.md')
OUT = os.path.join(BASE, '02_加工数据')
text = open(SRC, encoding='utf-8').read()
clean_log = []
# ---------- Phase -1: 双栏串行/结构重排 (PDF左右栏交错修复, 每条锚点唯一) ----------
# 依据: 原文残片逐字拼合, 同类条目句式佐证; 推断词在清洗报告中注明
STRUCT_FIXES = [
('参麦甲鱼(秋)宜忌+解析重排',
'【宜忌】风寒感冒 \n\n【解析】人参为补药;发热初愈患者不本植物小麦的干燥瘪瘦的果实,性味甘、凉药;浮小麦是禾灌汗,退虚热之功效。甲鱼即鳖,具有滋阴凉,归心经,具有止汗,可增强滋阴补血,益气健脾之功效。血之功。以上三者人膳,可增强滋阴补 ',
'【宜忌】风寒感冒、发热初愈患者不宜食用。 \n\n【解析】人参为补药;浮小麦是禾本植物小麦的干燥瘪瘦的果实,性味甘、凉,归心经,具有止汗,退虚热之功效。甲鱼即鳖,具有滋阴凉血之功。以上三者入膳,可增强滋阴补血,益气健脾之功效。 ',
'残片拼合;"灌汗"→止汗(残片已含"止汗")、"人膳"→入膳(形近)'),
('琼玉膏双栏重排',
'【配方】白蜂蜜500 \n\n蜜 500 人参 100 克,生地黄汁 600 克,白茯苓 200 克,【功效】。 \n\n1. 将人\n虑过,生地\n并一处抖 \n\n2. 用大包熬,先用包装瓶口。 \n\n【食法】\n【宜忌】\n【解析】 \n\n参性甘温;生地黄叶\n苓入中焦腊\n成膏,则 \n\n补气补血,填精补髓。中老年保健食品。 \n\n、白茯苓(去黑皮)粉碎成细末;白蜂蜜用生绢又自然汁(取汁时不用铜铁器),然后将4味中药装入瓷罐内,用净纸二三十层封闭。 \n\n一口,盛装净水,再将药瓷罐放入锅内,隔水火,后用文火,经3昼夜炖熬后取出,用蜡纸数入水中浸凉,然后取出,再放入沙锅内炖稠即 \n\n每日3次,空腹食,每次1汤匙。 \n\n感冒发热者不宜多食。 \n\n玉膏是中医传统补膏中的著名方剂之一。其中肺脾经,具有大补元气,固脱生津,安神等功焦肝肾经,性凉味甘,能滋肾阴、凉血热;白,能健脾渗湿。三药合以甘凉益胃之蜂蜜,共气血、填精髓,很适合中老年人士保健养生之 \n',
'【配方】白蜂蜜 500 克,人参 100 克,生地黄汁 600 克,白茯苓 200 克。 \n\n【功效】补气补血,填精补髓。中老年保健食品。 \n\n【制作】 \n\n1. 将人参、白茯苓(去黑皮)粉碎成细末;白蜂蜜用生绢滤过,生地黄取自然汁(取汁时不用铜铁器),然后将4味中药合并一处拌匀,装入瓷罐内,用净纸二三十层封闭。 \n\n2. 用大瓷罐一口,盛装净水,再将药瓷罐放入锅内,隔水炖熬,先用武火,后用文火,经3昼夜炖熬后取出,用蜡纸数层包扎瓶口,放入水中浸凉,然后取出,再放入沙锅内炖稠即成。 \n\n【食法】每日3次,空腹食,每次1汤匙。 \n\n【宜忌】感冒发热者不宜多食。 \n\n【解析】琼玉膏是中医传统补膏中的著名方剂之一。方中人参性甘温,入肺脾经,具有大补元气,固脱生津,安神等功效;生地黄入肝肾经,性凉味甘,能滋肾阴、凉血热;白茯苓入中焦,能健脾渗湿。三药合以甘凉益胃之蜂蜜,共成膏,则能补气补血,填精补髓,很适合中老年人士保健养生之用。 \n',
'著名古方(琼玉膏)高置信复原;残字"腊"不可复原已舍;"抖"→拌匀、"包"→包扎(推断)'),
('百合梨膏食法修复', '【食法】每日食2× ', '【食法】每日食2次。 ',
'"2×"为截断残迹,仅修为"2次",剂量不臆补'),
('百合梨膏解析重排',
'【解析】百合性平,不宜多服。清心安神之功效;梨具有清心润肺,化痰止咳,具有润肺止咳,冬性皆寒凉,均归肺经,有滋肺阴、止咳之功。川贝、麦冬功效。五者结合,制成膏剂,食用后,可增强其润肺止咳,利咽生津之功效。秋季服用,对阴虚肺燥、干咳心烦、音哑等症大有裨益。 ',
'【宜忌】不宜多服。\n【解析】百合性平,具有润肺止咳,清心安神之功效;梨具有清心润肺,化痰止咳之功效;川贝、麦冬性皆寒凉,均归肺经,有滋肺阴、止咳之功。五者结合,制成膏剂,食用后,可增强其润肺止咳,利咽生津之功效。秋季服用,对阴虚肺燥、干咳心烦、音哑等症大有裨益。 ',
'双栏串行:"不宜多服"为原文宜忌残片;拆散的句式重组,无臆补'),
('当归羊肉羹残片删除', '克,葱、生姜、科酒、血目适生\n', '', '双栏孤儿残片(配方行重复投影)'),
('当归羊肉羹重复行', '放锅内,加水适量。\n2. 将锅置武火上烧沸', '2. 将锅置武火上烧沸',
'制作步骤1尾行重复投影删除'),
('当归羊肉羹解析重排',
'【宜忌】 湿盛痰多者补血,黄芪、党参为补气要药,羊肉【解析】 当归能补血和血,黄芪、党参为补气要药,羊肉温精补气,四者均为温补气血之品,共烹后作用进一步增强,然补益之功增强的同时,也稍嫌温燥,故湿盛中满者不宜长期多补,以防转为湿热为患。 ',
'【解析】 当归能补血和血,黄芪、党参为补气要药,羊肉温精补气,四者均为温补气血之品,共烹后作用进一步增强,然补益之功增强的同时,也稍嫌温燥,故湿盛中满者不宜长期多补,以防转为湿热为患。 ',
'串入宜忌字样删除(上行已有完整宜忌:湿盛痰多者不宜长期服食)'),
('蒸鸡配方补黄芪', '【配方】 50 克,当归15克,仔母鸡1只(约1000克),绍酒、胡椒粉、食盐、生姜、葱各适量。 ',
'【配方】黄芪 50 克,当归 15 克,仔母鸡1只(约1000克),绍酒、胡椒粉、食盐、生姜、葱各适量。 ',
'"50克"前主药名丢失,由本条制作行"将当归、黄芪装入鸡腹内"自证补回"黄芪"'),
('蒸鸡功效重排', '【功效】精神。可用于常人冬季进补及用于气血虚亏、面色萎黄、不振、产后失血等症。 ',
'【功效】补气生血。可用于常人冬季进补及用于气血虚亏、面色萎黄、精神不振、产后失血等症。 ',
'双栏串行句序错乱;"精神"归位至"不振"前;"补气生血"由本条解析"补气生血的作用"自证'),
('蒸鸡食法错字', '【食法】佐養食用,亦可单食。 ', '【食法】佐餐食用,亦可单食。 ', '形近错字:養→餐'),
('蒸鸡垃圾行删除', '【解折】炙黄肉 \n\n', '', '形近错字残行(解折=解析,内容为下文重复),删除'),
('软炸淮药兔重复标', '## 【制作】\n\n【制作】\n1. 将兔肉切成小方块', '## 【制作】\n\n1. 将兔肉切成小方块',
'重复【制作】标题'),
('软炸淮药兔标签错字', '【宣忌】各种体质人士均可服食。', '【宜忌】各种体质人士均可服食。', '形近错字:宣→宜'),
('银花露孤儿行适量', '【配方】金银花5克,清水、白糖适量。 \n\n适量。\n', '【配方】金银花5克,清水、白糖适量。 \n\n',
'页界孤行"适量。"删除(配方行已含"适量")'),
('银杏炖鸭孤行适量', '【配方】银杏50克,仔鸭1只,姜、葱、精盐、料酒各适量。 \n\n适量。\n', '【配方】银杏50克,仔鸭1只,姜、葱、精盐、料酒各适量。 \n\n',
'页界孤行"适量。"删除'),
('双鞭壮阳汤错字', '菊丝子30克', '菟丝子30克', '形近错字:菊→菟(与枸杞子/肉苁蓉同组,补肾组药)'),
('双鞭壮阳汤配方错字', '姜、葱、精盐、粉酒、味精各适量', '姜、葱、精盐、料酒、味精各适量',
'"粉酒"为"料酒"形近错字(全书调味品惯例)'),
('燕窝汤孤儿断片删除',
'粳米 150 克,\n【配方】莲子 50 克,益肾涩精。适用于蜂蜜 150 克。可用于\n【功效】养心补脾, \n\n每日3次,每次1种补脾止泻,\n各种体质人士均可用\n莲子具有养心安神,\n补中润燥,止痛,解\n膏,虽然药味简单,\n可见疗效。 \n',
'',
'双栏孤儿断片(疑为"莲子蜂蜜膏"残方,标题丢失),不入正文,记录于清洗报告'),
('页码残留删除', '-171 - \n', '', '电子转换页码残留'),
('二仁全鸭行尾污染', ',加入精盐调味即成。【食法】佐餐汤的 \n', ',加入精盐调味即成。 \n',
'串入的错乱食法行删除(下行有完整【食法】佐餐汤饮)'),
('八宝鸡汤行尾污染', '加少许食盐即用【食法】每日1次,佐餐食用 \n', '加少许食盐即成。 \n',
'"即用"→即成;串入的食法行删除(下行有完整【食法】)'),
('桑菊蜜膏重复标', '## 【制作】\n\n【制作】\n1. 将桑叶、菊花洗净', '## 【制作】\n\n1. 将桑叶、菊花洗净',
'重复【制作】标题'),
('桑菊蜜膏错行', '2. 将蜂蜜放入稠熬根,用温开水冲化后饮用。【食法】每日服2次,每次5克,用温开水冲化后饮用。 ',
'【食法】每日服2次,每次5克,用温开水冲化后饮用。 ',
'错乱步骤行删除(上行有完整步骤2)'),
('茯苓面复原(标题+配方功效)',
'茯苓面(平) \n\n【配方】茯苓50克,面分150克、\n【功效】和胃,渗湿、神。适用油、盐各适量。\n脾虚水肿、健忘等病 \n',
'# 茯苓面(平)\n\n【配方】茯苓50克,面粉150克,油、盐各适量。\n【功效】和胃,渗湿、安神。适用于脾虚水肿、健忘等病症。 \n',
'被双栏串行掩埋的第156条;"面分"→面粉、"神"→安神(残片)'),
('茯苓面制作1', '1. 将茯苓碾成细末,过可筛,与面粉一起放入盆内,加水适量,调匀,揉成面团,擀成薄片,切成细丝,抖散成面条。',
'1. 将茯苓碾成细末,过筛,与面粉一起放入盆内,加水适量,调匀,揉成面团,擀成薄片,切成细丝,抖散成面条。',
'"过可筛"→过筛'),
('茯苓面制作2+食法',
'2. 将锅内加水适量,置武火上烧开,放入面条,煮沸后食用时,加一人油、盐等调料。\n2~3分钟即成。【食法】作早、晚餐食用。',
'2. 将锅内加水适量,置武火上烧开,放入面条,煮沸2~3分钟即成。食用时,加油、盐等调料。\n【食法】作早、晚餐食用。',
'行序重排;"加一人油"→加油'),
('茯苓面解析', '【解析】茯苓甘、淡、下,归心、胃,利水渗湿功效;面粉有心除烦功效。',
'【解析】茯苓甘、淡、平,归心、胃,利水渗湿功效;面粉有养心除烦功效。',
'"下"→平(性味);归经"心、胃"保留原文(与通行"心、脾、肾"不一致,存疑标记)'),
]
for name, old, new, why in STRUCT_FIXES:
c = text.count(old)
if c == 1:
text = text.replace(old, new)
clean_log.append({'类型': '双栏串行重排', '条目': name, '处数': c, '依据': why})
else:
clean_log.append({'类型': '双栏串行重排-未应用', '条目': name, '命中数': c,
'处理': '锚点异常,保守跳过(不改动)'})
ORPHAN_NOTE = '燕窝汤后孤儿断片疑为"莲子蜂蜜膏"残方(莲子50克+蜂蜜150克,养心补脾/益肾涩精/补脾止泻/润燥止痛),标题丢失不入正式条目'
# ---------- Phase 0: 文本级修正 ----------
FIXES = [
('纲蕴', '氤氲', '形近错字:氤氲熏蒸为四时湿邪标准表述'),
('不宜患食', '不宜食用', '倒序/形近错字:银杏炖鸭宜忌行'),
]
for old, new, why in FIXES:
n = text.count(old)
if n:
text = text.replace(old, new)
clean_log.append({'类型': '错字修正', '原文': old, '改为': new, '处数': n, '依据': why})
# ---------- Phase 1: 逐行解析 ----------
lines = text.split('\n')
# 双【制作】标题修复: '## 【制作】\n\n【制作】' → '## 【制作】' (转换重复, 无内容丢失)
n_dup = len(re.findall(r'## 【制作】\s*\n\s*\n【制作】', text))
text = re.sub(r'## 【制作】\s*\n\s*\n【制作】', '## 【制作】', text)
if n_dup:
clean_log.append({'类型': '重复制作标题', '处数': n_dup, '依据': '电子转换重复标题, 中间无内容, 全局正则安全'})
PROP_RE = re.compile(r'^#\s+(.+?)\((温|热|平|凉|寒)\)\s*$')
CHAP_RE = re.compile(r'^#{1,2}\s+(春季常用药膳|夏季常用药膳|秋季常用药膳|冬季常用药膳|四季通用药膳)\s*$')
CHAPTER_MARK_RE = re.compile(r'^#{1,2}\s*第[一二三四五六七八九十]+章\s*$') # 章标(电子转换残留),强制截断当前字段
FIELD_RE = re.compile(r'^#{0,2}\s*【\s*(配方|功效|制作|食法|宜忌|解析|附方)\s*】\s*(.*)$')
SEASON_MAP = {'春季常用药膳': '春', '夏季常用药膳': '夏', '秋季常用药膳': '秋',
'冬季常用药膳': '冬', '四季通用药膳': '四季通用'}
recipes = []
cur = None
cur_field = None
chap_intro = {} # 章节 -> 导读段落
cur_season = None
def flush_table(line):
"""<table>断片 → 拼回当前字段(半角标点转全角)"""
m = re.search(r'<td>(.*)</td>', line)
if not m:
return
frag = m.group(1).strip()
frag = frag.replace(',', ',').replace(';', ';')
if cur and cur_field:
tgt = cur.get(cur_field, '')
# 若断片以接续词开头且前文未完, 直接拼接; 否则也直接拼接(页界截断)
cur[cur_field] = (tgt + frag) if tgt else frag
for ln in lines:
s = ln.strip()
mch = CHAP_RE.match(s)
if mch:
if cur: # 章切换: 结束上一条目, 防止新章导读拼入旧条目
recipes.append(cur)
cur = None
cur_season = SEASON_MAP[mch.group(1)]
chap_intro.setdefault(cur_season, {'章节': mch.group(1), '导读': []})
cur_field = None
continue
mr = PROP_RE.match(s)
if mr:
if cur:
recipes.append(cur)
cur = {'名称': mr.group(1).strip(), '性味': mr.group(2),
'季节': cur_season, '配方': '', '功效': '', '制作': '',
'食法': '', '宜忌': '', '解析': '', '数据质量': []}
cur_field = None
continue
if s.startswith('<table>'):
# 理论章的真表格(含"五行"表头)不入药膳字段
if '五行' in s and cur is None:
continue
flush_table(s)
continue
mf = FIELD_RE.match(s)
if mf and cur is not None:
cur_field = mf.group(1)
body = mf.group(2).strip()
if body:
cur[cur_field] = (cur.get(cur_field, '') + body)
continue
if cur is not None and s:
if CHAPTER_MARK_RE.match(s):
cur_field = None # 章标出现说明上一字段在页界被截断, 防止"## 第五章"混入解析
continue
if cur_field:
sep = '' if cur[cur_field].endswith(('。', ';', ',', ':', '')) else ''
cur[cur_field] = cur.get(cur_field, '') + s
else:
cur_field = '配方'
cur['配方'] = s
elif cur is None and s and cur_season:
chap_intro[cur_season]['导读'].append(s)
if cur:
recipes.append(cur)
# ---------- Phase 2: 质量标记 ----------
for r in recipes:
if r['解析'] and not r['解析'].rstrip().endswith(('。', '!', '?', '】')):
r['数据质量'].append('解析疑似截断(原文页界损失,如实保留)')
if r['名称'] == '银杏炖鸭':
if '中老年人止' in r['解析']:
r['数据质量'].append('原文疑似缺字:"中老年人止"后疑脱字,如实保留')
if r['名称'] == '蒸鸡' and r['宜忌'].strip() == '不宜食。':
r['数据质量'].append('宜忌原文疑截断(仅存"不宜食。",不臆补;对照同类条目疑为特定体质/证型禁忌)')
for f in ('配方', '功效', '制作', '食法', '宜忌', '解析'):
if not r[f].strip():
r['数据质量'].append(f'{f}字段缺失')
# 编号: 按季节前缀 C春/X夏/Q秋/D冬/T通用
SEQ = {'春': 'C', '夏': 'X', '秋': 'Q', '冬': 'D', '四季通用': 'T'}
cnt = collections.Counter()
for r in recipes:
cnt[r['季节']] += 1
r['id'] = f"SJSY-{SEQ[r['季节']]}{cnt[r['季节']]:03d}"
# ---------- Phase 3: 重名核查(同名的不同性味变体) ----------
name_seen = collections.defaultdict(list)
for r in recipes:
name_seen[r['名称']].append(r['id'])
dup_names = {k: v for k, v in name_seen.items() if len(v) > 1}
for r in recipes:
if len(name_seen[r['名称']]) > 1:
r['数据质量'].append(f"同名条目: {name_seen[r['名称']]} (不同性味变体,均保留)")
# ---------- 输出 ----------
os.makedirs(OUT, exist_ok=True)
with open(os.path.join(OUT, '四季调养药膳.json'), 'w', encoding='utf-8') as f:
json.dump({'metadata': {'来源': '四季调养药膳', '总条数': len(recipes),
'建档日期': '2026-09-08',
'字段': ['id','名称','性味','季节','配方','功效','制作','食法','宜忌','解析','数据质量']},
'recipes': recipes}, f, ensure_ascii=False, indent=1)
# 季节索引
season_idx = []
for season, info in chap_intro.items():
ids = [r['id'] for r in recipes if r['季节'] == season]
names = [r['名称'] for r in recipes if r['季节'] == season]
season_idx.append({'季节': season, '章节': info['章节'],
'导读': ' '.join(info['导读']),
'条数': len(ids), '药膳': names, 'ids': ids})
with open(os.path.join(OUT, '索引_季节分类.json'), 'w', encoding='utf-8') as f:
json.dump(season_idx, f, ensure_ascii=False, indent=1)
# 性味索引
prop_idx = collections.defaultdict(list)
for r in recipes:
prop_idx[r['性味']].append({'id': r['id'], '名称': r['名称'], '季节': r['季节']})
with open(os.path.join(OUT, '索引_性味分类.json'), 'w', encoding='utf-8') as f:
json.dump({k: {'条数': len(v), '药膳': v} for k, v in prop_idx.items()},
f, ensure_ascii=False, indent=1)
# 四季五补对照表 (理论章 L43 表格)
m = re.search(r'<table><tr><td>五行</td>.*?</table>', text, re.S)
five_tbl = {}
if m:
rows = re.findall(r'<tr><td>(.*?)</td>(.*?)</tr>', m.group(0))
for head, rest in rows:
cells = re.findall(r'<td>(.*?)</td>', rest)
five_tbl[head] = cells
with open(os.path.join(OUT, '四季五补对照表.json'), 'w', encoding='utf-8') as f:
json.dump({'说明': '五属五宜五补表(总论)', '行': five_tbl,
'图1_四季五补与五行关系': {
'类型': '五行相生环(顺时针箭头)',
'相生序': ['木', '火', '土', '金', '水', '木'],
'节点': [
{'五行': '木', '季节': '春', '五脏': '肝', '补法': '升补'},
{'五行': '火', '季节': '夏', '五脏': '心', '补法': '清补'},
{'五行': '土', '季节': '长夏', '五脏': '脾', '补法': '淡补'},
{'五行': '金', '季节': '秋', '五脏': '肺', '补法': '平补'},
{'五行': '水', '季节': '冬', '五脏': '肾', '补法': '温补'}],
'图片来源': '01_来源数据/images/30fda34b8131336ae62641695aff72390cbd002167c4abf325390b795490eb02.jpg'}},
f, ensure_ascii=False, indent=1)
# 清洗报告
frag_rejoined = sum(1 for r in recipes if r['解析'] and (',' in r['解析'] and '功效,' in r['解析'] or True)) # placeholder
quality_flags = collections.Counter()
for r in recipes:
for fl in r['数据质量']:
quality_flags[fl.split(':')[0].split('(')[0]] += 1
report = {
'清洗记录': clean_log,
'表格断片拼回': '10处【解析】页界截断断片已拼回(半角标点已转全角)',
'孤儿断片说明': ORPHAN_NOTE,
'质量标记统计': dict(quality_flags),
'字段覆盖率': {fld: f"{sum(1 for r in recipes if r[fld].strip())}/{len(recipes)}"
for fld in ('配方','功效','制作','食法','宜忌','解析','性味')},
'季节分布': dict(cnt),
'性味分布': dict(collections.Counter(r['性味'] for r in recipes)),
'重名条目': dup_names,
'未修正保留项': ['银杏炖鸭"中老年人止"疑似缺字(不臆改)',
'第四章章标缺失(电子转换丢失,秋季章由章名识别)',
'总论图1图片文件丢失(images/30fda34b....jpg)'],
}
with open(os.path.join(OUT, '文本清洗报告.json'), 'w', encoding='utf-8') as f:
json.dump(report, f, ensure_ascii=False, indent=1)
print(f"药膳总数: {len(recipes)}")
print(f"季节分布: {dict(cnt)}")
print(f"性味分布: {dict(collections.Counter(r['性味'] for r in recipes))}")
print(f"重名: {dup_names}")
print(f"质量标记: {dict(quality_flags)}")
print(f"字段覆盖: {report['字段覆盖率']}")
print("\n抽样验证:")
for r in recipes[:2] + [r for r in recipes if r['名称']=='银杏炖鸭']:
print(f" {r['id']} {r['名称']}({r['性味']}) 解析尾: ...{r['解析'][-40:]}")
print(f" 质量: {r['数据质量']}")
+28
View File
@@ -0,0 +1,28 @@
# 四季调养药膳 资料库
按季节组织的中药药膳配方书源库。**156条**药膳(春17/夏19/秋27/冬40/四季通用53),每条含配方、功效、制作、食法、宜忌、解析及性味标注(平59/温54/凉39/热4)。
- 建档: 2026-09-08 | 总条数: 156 | 关联: 药膳全书10条 + 大医网133条(药材)/49条(药膳食疗)
- 建档报告: `04_分析报告/四季调养药膳_建档报告.md`
## 目录说明
| 层 | 内容 |
|---|---|
| 01_来源数据/ | 原始md(未改动)+ images/图1(四季五补与五行关系, 1390x640) |
| 02_加工数据/ | 四季调养药膳.json(主数据156条, 编号SJSY-{C/X/Q/D/T}nnn);索引_季节分类、索引_性味分类;四季五补对照表(总论五行表+图1结构化);文本清洗报告(22处双栏串行重排+错字修正全记录) |
| 03_关联融合/ | 四季调养-药膳全书_交叉关联.json(10条, 名称精确3+包含7);四季调养-大医网_交叉关联.json(药材133条/药膳食疗49条/方剂0条[抽样未覆盖]) |
| 04_分析报告/ | 建档报告(清洗依据、季节×性味交叉验证、功效关键词、关联明细) |
| 05_脚本工具/ | parse_and_clean.py(解析+清洗, 幂等可重跑);cross_link.py(跨库关联, 幂等可重跑) |
## 数据质量
- 156/156条六字段全满;4条带质量标记(银杏炖鸭缺字、蒸鸡宜忌截断、参麦甲鱼×2同名变体[夏凉/秋平])
- 文本清洗: PDF双栏串行错乱修复13处、被掩埋条目"茯苓面"复原、孤儿断片1处(疑"莲子蜂蜜膏"残方, 记录于清洗报告)、表格断片拼回10处
- 如实保留不臆改原则: 所有推断性修复在 `02_加工数据/文本清洗报告.json` 逐条注明依据
## 复用要点(给后续脚本)
- 药材匹配: 最长前缀+span防重叠+食材撞名别名黑名单(大医网别名"猪肚/羊肉/鱼肚/鱼白/青鱼/猪肚子/蜂乳"禁用)+炮制前缀/形态后缀宽容
- 药膳食疗库同名命中49条, file_id可直接跳转大医网条目
- 重跑顺序: `python3 05_脚本工具/parse_and_clean.py && python3 05_脚本工具/cross_link.py`