在开始编写代码之前,我们需要确保本地环境已经配置好了Python运行环境,并安装必要的HTTP请求库。我们将使用DeepSeek的API接口作为大模型底座,因为它在中文情感类内容生成上表现优异且成本极低。
1. 安装Python环境
请确保你的系统已安装 Python 3.8 或更高版本。如果未安装,请前往 https://www.python.org/downloads/ 下载对应系统的安装包。安装时务必勾选 "Add Python to PATH" 选项。
2. 安装依赖库
打开终端(Windows下为CMD或PowerShell,Mac下为Terminal),执行以下命令安装 requests 库,用于发送API请求:
``` pip install requests ```3. 获取API Key
我们需要一个能够调用大模型的API Key。访问 https://platform.deepseek.com/,注册账号并登录。在左侧菜单栏找到 "API Keys",点击 "创建 API Key"。请务必复制并保存好生成的Key(以 sk- 开头),此Key仅显示一次,丢失后需重新生成。
对于情感类自媒体账号,文案的质量直接取决于Prompt的设计。我们不能只简单地让AI“写一篇文章”,必须赋予它具体的人设、语气和结构要求。以下是经过验证的高转化率Prompt模板,我们将把它封装在代码中。
核心Prompt逻辑:
我们将把这个Prompt作为System Message传递给API,确保生成的文章风格统一。
我们需要编写一个通用的函数来处理与DeepSeek API的通信。这个函数需要接收Prompt,返回生成的文本,并处理可能出现的网络错误。
新建一个文件名为 emotion_generator.py,并输入以下代码:
``` import requests import json import time 替换为你刚才申请的 API Key API_KEY = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" API_URL = "https://api.deepseek.com/chat/completions" def call_deepseek_api(prompt, user_input): """ 调用DeepSeek API生成内容 :param prompt: 系统预设提示词 :param user_input: 用户输入的主题 :return: 生成的文本内容 """ headers = { "Content-Type": "application/json", "Authorization": f"Bearer {API_KEY}" } payload = { "model": "deepseek-chat", "messages": [ {"role": "system", "content": prompt}, {"role": "user", "content": user_input} ], "temperature": 0.7, 设置温度值,0.7既保证创意又保持逻辑 "stream": False } try: response = requests.post(API_URL, headers=headers, data=json.dumps(payload), timeout=60) response.raise_for_status() 检查HTTP错误 result = response.json() content = result['choices'][0]['message']['content'] return content except requests.exceptions.RequestException as e: print(f"API请求失败: {e}") return None except KeyError: print("API返回数据解析失败") return None ```代码细节解析:

接下来,我们编写具体的业务逻辑。我们需要实现两个功能:一是生成爆款标题,二是生成正文,最后将内容自动保存为Markdown文件,方便直接复制到公众号或小红书后台。
继续在 emotion_generator.py 中追加以下代码:
``` def generate_emotion_article(topic): """ 根据主题生成完整的情感文章 :param topic: 文章主题关键词 """ 1. 定义生成标题的Prompt title_prompt = ( "你是一位自媒体爆款标题专家。" "请根据用户提供的主题,生成5个具有吸引力、能引发情感共鸣的标题。" "要求:字数在15-25字之间,使用emoji表情,直击痛点。" "输出格式:直接列出标题,每行一个,不要包含序号。" ) print(f"正在为主题【{topic}】生成标题...") titles_raw = call_deepseek_api(title_prompt, topic) if not titles_raw: return 提取第一个标题作为文件名 title_list = titles_raw.strip().split('\n') main_title = title_list[0].strip().replace(':', '').replace(':', '') 去除冒号防止文件名错误 2. 定义生成正文的Prompt content_prompt = ( "你是一位拥有百万粉丝的资深情感博主。你的写作风格温暖、治愈,善于捕捉生活中的细微情感。" "文章结构通常包含:一个引人入胜的金句开头,一段具体的痛点故事叙述,一段情感升华的中间段落,以及一个发给人深思的结尾。" "写作要求:" "1. 多用短句,节奏感强。" "2. 多用第二人称'你',增强读者的代入感。" "3. 避免说教,要像朋友聊天一样娓娓道来。" "4. 正文字数控制在600-800字。" "5. 文中适当穿插emoji表情,增加阅读趣味性。" ) print(f"正在生成正文内容...") content = call_deepseek_api(content_prompt, f"请以'{main_title}'为题,围绕'{topic}'这个主题写一篇情感文章。") if not content: return 3. 拼接最终内容 final_output = f" {main_title}\n\n" final_output += f"{content}\n\n" final_output += "\n" final_output += "(本文由AI辅助生成,仅供参考)" 4. 保存为Markdown文件 timestamp = time.strftime("%Y%m%d_%H%M%S") 过滤文件名中的非法字符 safe_title = "".join([c for c in main_title if c.isalnum() or c in (' ', '-', '_')]).strip() filename = f"{timestamp}_{safe_title}.md" with open(filename, 'w', encoding='utf-8') as f: f.write(final_output) print(f"\n成功!文章已保存为: {filename}") print(f"文章 {main_title}") print("-" 30) print(final_output) if __name__ == "__main__": 在这里输入你想写的主题,例如:"失恋", "职场焦虑", "异地恋" user_topic = input("请输入文章主题(例如:成年人的崩溃):") if user_topic: generate_emotion_article(user_topic) else: print("主题不能为空") ```确保上述两段代码都完整复制到了 emotion_generator.py 文件中,并且顺序正确(先导入和函数定义,后业务逻辑)。请务必检查代码顶部的 API_KEY 变量是否已替换为你自己的Key。
1. 运行脚本
在终端中,进入文件所在的目录,执行以下命令:
``` python emotion_generator.py ```2. 交互式输入
程序启动后,会提示你输入主题。例如我们输入:深夜emo
``` 请输入文章主题(例如:成年人的崩溃):深夜emo ```3. 观察输出
终端将显示API的调用过程。稍等几秒钟后,程序会生成标题和正文,并自动在当前目录下创建一个Markdown文件。文件名格式为 时间戳_标题.md,例如 20231027_153045_深夜emo.md。
4. 结果验证
打开生成的 .md 文件,你将看到一篇结构完整的情感文章。内容通常会包含类似“在这个快节奏的时代……”或者“你有没有过这样的时刻……”的开头,完美符合情感号的调性。
如果你需要批量生成大量文章,直接使用循环即可。但为了避免API限流,建议在循环中加入 time.sleep()。
修改 if __name__ == "__main__": 部分的代码如下:
``` if __name__ == "__main__": topics = ["分手后的戒断反应", "为什么越长大越孤单", "给30岁自己的建议", "假装快乐的中年人"] for topic in topics: print(f"\n开始处理主题: {topic}") generate_emotion_article(topic) time.sleep(5) 每次生成间隔5秒,避免触发API频率限制 print("等待5秒后处理下一个...") ```这段代码定义了一个主题列表,程序会自动遍历列表,依次生成文章并保存。对于自媒体矩阵运营,这种批量处理能力能极大地提高效率。
通过以上步骤,你已经拥有了一个完全自动化的情感内容生产流水线。从Prompt设计到代码实现,再到文件存储,所有环节均已打通。你只需要每天提供几个关键词,即可获得高质量的初稿,再进行简单的润色即可发布。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图