网易首页 > 网易号 > 正文 申请入驻

批量生成小红书风格知识卡片,附Python代码!

0
分享至

大家好,我是Ai学习的老章

大模型生成知识卡片,我之前介绍过多次

比如我最近在用的banner

还有很多很多。。。

前文详细介绍过具体方法

今天再给大家分享一个我刚刚测试好的批量生成语录类知识卡片的方法

其实更多的是提供思路,整个过程很多细节可以再琢磨一下。

1、生成模版.svg

事实上,我生成了6个模板

  1. 默认粉紫渐变风格(default) - 柔和的粉紫色渐变背景,优雅简约

  2. 极简禅风(minimalist_zen) - 极简主义设计,注重留白和平衡

  3. 现代几何风格(modern_geometric) - 深色背景配合几何元素,现代感强

  4. 自然灵感(nature_inspired) - 自然色调和有机元素,清新自然

  5. 古典优雅(classic_elegant) - 复古纸张质感,传统典雅

  6. 科技数字风(tech_digital) - 深色背景配合科技元素,未来感

2、生成语录.json

这一步也是交给大模型,生成100条就对应100张卡片

3、批量生成脚本.py

其实就是把json中每条中英文语录、作者塞进svg模板

#quote_card_generator.py import json import re import os from pathlib import Path import argparse # 可用的模板列表 TEMPLATE_OPTIONS = {     "default": "默认粉紫渐变风格",     "minimalist_zen": "极简禅风",     "modern_geometric": "现代几何风格",     "nature_inspired": "自然灵感",     "classic_elegant": "古典优雅",     "tech_digital": "科技数字风" } def process_quote(text):     """处理输入的文本,转换为 JSON 格式"""     # 预期格式:中文名言 | English quote - 作者名 | Author name     pattern = r"(.*?)\s*\|\s*(.*?)\s*-\s*(.*?)\s*\|\s*(.*)"     match = re.match(pattern, text)          ifnot match:         raise ValueError("输入格式不正确。请使用格式:中文名言 | English quote - 作者名 | Author name")          quote_cn, quote_en, author_cn, author_en = match.groups()          return {         "quote": {             "cn": quote_cn.strip(),             "en": quote_en.strip()         },         "author": {             "cn": author_cn.strip(),             "en": author_en.strip()         }     } def list_templates():     """列出所有可用的模板"""     print("可用的引言卡片模板:")     print("-" * 40)     for key, desc in TEMPLATE_OPTIONS.items():         print(f"- {key}: {desc}")     print("-" * 40) def generate_svg(data, template_name="default"):     """根据 JSON 数据和模板名称生成 SVG"""     # 模板目录     templates_dir = Path(__file__).parent / "templates"          # 确保模板存在,否则使用默认模板     template_path = templates_dir / f"{template_name}.svg"     ifnot template_path.exists():         print(f"警告:模板 '{template_name}' 不存在,将使用默认模板。")         template_path = templates_dir / "default.svg"          # 读取 SVG 模板     with open(template_path, "r", encoding="utf-8") as f:         svg_template = f.read()          # 根据文本长度动态调整字体大小     # 中文引言字体大小 - 较长的引言会使用较小的字体     quote_cn_size = min(60, 1000 / (len(data["quote"]["cn"]) / 2 + 5))     # 英文引言字体大小     quote_en_size = min(40, 1000 / (len(data["quote"]["en"]) / 2 + 5))          # 替换模板中的占位符     svg = svg_template.replace("{{QUOTE_CN}}", data["quote"]["cn"])     svg = svg.replace("{{QUOTE_EN}}", data["quote"]["en"])     svg = svg.replace("{{AUTHOR_CN}}", data["author"]["cn"])     svg = svg.replace("{{AUTHOR_EN}}", data["author"]["en"])     svg = svg.replace("{{QUOTE_CN_SIZE}}", str(quote_cn_size))     svg = svg.replace("{{QUOTE_EN_SIZE}}", str(quote_en_size))          return svg def main():     parser = argparse.ArgumentParser(description="生成优雅的名人名言卡片")     parser.add_argument("quote", nargs="?", help="格式:中文名言 | English quote - 作者名 | Author name")     parser.add_argument("--template", "-t", default="default", help="卡片模板名称")     parser.add_argument("--output", "-o", default="quote_card.svg", help="输出文件名")     parser.add_argument("--list", "-l", action="store_true", help="列出所有可用的模板")          args = parser.parse_args()          # 如果使用了 --list 参数,列出所有模板并退出     if args.list:         list_templates()         return          # 如果没有提供引言,提示用户输入必要参数并退出     ifnot args.quote:         parser.print_help()         print("\n请提供引言参数,或使用 --list 查看可用模板。")         return          try:         # 处理输入文本         data = process_quote(args.quote)           # 生成 SVG         svg_content = generate_svg(data, args.template)                  # 保存 SVG 文件         with open(args.output, "w", encoding="utf-8") as f:             f.write(svg_content)                  print(f"成功生成 SVG 文件:{args.output}")         print(f"使用模板:{args.template}")         print("JSON 格式的数据:")         print(json.dumps(data, ensure_ascii=False, indent=2))              except Exception as e:         print(f"错误:{str(e)}") if __name__ == "__main__":     main()

使用方法:python quote_card_generator.py --template minimalist_zen --limit 5

不指定template就是用default模板,不指定limit就是全部生成

4、svg转为png

不赘述,前文讲过

方便起见,你可以把文章的脚本修改成文件夹批量执行,也可以直接在命令行中批量跑

for file in /Users/zhangbeihai/Desktop/cards/generated_cards/*.svg; do   /Users/zhangbeihai/Desktop/svg2png.sh "$file" done

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
澳洲政府正式官宣: 入境政策重大变化! 影响每个人

澳洲政府正式官宣: 入境政策重大变化! 影响每个人

澳微Daily
2026-07-13 15:54:41
同学聚会,邻座问我收入,月入两万说三千,回家后发现被拉黑

同学聚会,邻座问我收入,月入两万说三千,回家后发现被拉黑

多久情感
2026-07-12 15:43:50
韩国生育率彻底爆发,打脸了全球人口学家。

韩国生育率彻底爆发,打脸了全球人口学家。

流苏晚晴
2026-07-12 19:08:14
公司突然开除我,收拾东西时,对面的女同事问我:集团副总做不?

公司突然开除我,收拾东西时,对面的女同事问我:集团副总做不?

千秋文化
2026-07-08 19:30:53
彻底不装了!具俊晔争大S遗产将开庭,纠纷细节曝光,只有汪小菲始终保持着体面

彻底不装了!具俊晔争大S遗产将开庭,纠纷细节曝光,只有汪小菲始终保持着体面

小鋭有话说
2026-07-13 10:49:18
杜华首度携女儿上节目,住北京大别墅,58岁老公出镜头发花白却帅

杜华首度携女儿上节目,住北京大别墅,58岁老公出镜头发花白却帅

阿绐聊社会
2026-07-13 13:46:23
量化砸盘被讨伐!a股跌破年线,科技股连续暴跌,海力士股民大量爆仓

量化砸盘被讨伐!a股跌破年线,科技股连续暴跌,海力士股民大量爆仓

看财经show
2026-07-13 17:05:49
内蒙16岁独子遇害,母亲曝诱因,网友:不值得同情

内蒙16岁独子遇害,母亲曝诱因,网友:不值得同情

梦想的旅途照进现实
2026-07-13 13:25:00
美国歌手斯普林斯汀演唱会大骂特朗普,惨遭同行贾格尔痛批:花钱不是来听你说教

美国歌手斯普林斯汀演唱会大骂特朗普,惨遭同行贾格尔痛批:花钱不是来听你说教

世界王室那些事
2026-07-12 15:00:42
张艺兴安全了!?

张艺兴安全了!?

八卦疯叔
2026-07-13 10:53:58
最狠的营销是把自己骂上热搜!周星驰功夫女足反向宣发有多狠?

最狠的营销是把自己骂上热搜!周星驰功夫女足反向宣发有多狠?

数字营销市场
2026-07-13 14:49:19
911事件的遇难者疑似转世归来

911事件的遇难者疑似转世归来

大国老记老顾
2026-07-13 16:31:17
印度移民接连遭拒签!想来中国扎根?56个民族里可没这个选项!

印度移民接连遭拒签!想来中国扎根?56个民族里可没这个选项!

经纬戎韬
2026-07-12 14:59:04
中日韩最大财团对比:三菱21万亿,三星2.1万亿,中国第1是谁?

中日韩最大财团对比:三菱21万亿,三星2.1万亿,中国第1是谁?

趣味萌宠的日常
2026-07-13 10:49:52
北京10号线惊现整节无座椅车厢 拆椅子不是一刀切 扩容便民两项兼顾

北京10号线惊现整节无座椅车厢 拆椅子不是一刀切 扩容便民两项兼顾

趣味萌宠的日常
2026-07-13 11:14:50
“嫂子我们家规定,外人不能上桌吃饭”嫂子:好,不过我有个条件

“嫂子我们家规定,外人不能上桌吃饭”嫂子:好,不过我有个条件

多久情感
2026-07-12 15:47:51
人伦大乱正在毁掉无数中国家庭:3种乱象就在日常,拖垮一家人

人伦大乱正在毁掉无数中国家庭:3种乱象就在日常,拖垮一家人

阿凯销售场
2026-07-04 15:35:28
江西创一代在广东遭遇天价彩礼88.8W,最后结尾升华了

江西创一代在广东遭遇天价彩礼88.8W,最后结尾升华了

杭城村叔
2026-07-13 13:42:47
70岁教授喜得双胞胎,却从30楼一跃而下,家中发现36G视频揭开真相

70岁教授喜得双胞胎,却从30楼一跃而下,家中发现36G视频揭开真相

红豆讲堂
2025-04-01 10:44:04
嫌难看打不倒周星驰!《功夫女足》3天票房破23亿 2关键影评输了

嫌难看打不倒周星驰!《功夫女足》3天票房破23亿 2关键影评输了

ETtoday星光云
2026-07-13 15:07:08
2026-07-13 18:15:00
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3468文章数 11172关注度
往期回顾 全部

科技要闻

OpenAI与Anthropic互掐,最强AI也怕你不用

头条要闻

晋江鞋厂火灾楼顶蓄水池捞出多具遗体 水池仅十几平米

头条要闻

晋江鞋厂火灾楼顶蓄水池捞出多具遗体 水池仅十几平米

体育要闻

世界杯月赚1.7亿,51岁的他仍是顶流

娱乐要闻

具俊晔“深情人设”崩塌,遗产瓜开撕

财经要闻

SK海力士暴跌15%原因找到了?

汽车要闻

小米澎程N90 Max工信部信息曝光 全尺寸旗舰 露营版首秀

态度原创

时尚
本地
教育
艺术
公开课

巴黎文艺购物路线兼高温避暑指南

本地新闻

打的直达拉萨,一条视频拿下五十万奖金

教育要闻

解方程,7x-(x-6)=24 求x=?

艺术要闻

董其昌空前绝后的一幅字!看谁还敢骂他庸俗

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版