当前位置:网站首页 >  教程

Python搭建自媒体情感文章自动生成器实战指南

时间:2026年06月15日 05:05:41 来源:易频IT社区

一、环境准备与依赖安装

在开始编写代码之前,我们需要确保本地环境已经配置好了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(提示词)工程设计

对于情感类自媒体账号,文案的质量直接取决于Prompt的设计。我们不能只简单地让AI“写一篇文章”,必须赋予它具体的人设、语气和结构要求。以下是经过验证的高转化率Prompt模板,我们将把它封装在代码中。

核心Prompt逻辑:

  • 人设:拥有百万粉丝的资深情感博主,风格温暖、治愈,擅长捕捉生活细节。
  • 结构:金句开头 -> 痛点故事叙述 -> 情感共鸣分析 -> 治愈系结尾。
  • 要求:多用短句,多用第二人称“你”增强代入感,避免说教式口吻,字数控制在600-800字之间。

我们将把这个Prompt作为System Message传递给API,确保生成的文章风格统一。

三、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 ```

代码细节解析:

  • headers:必须包含 Content-TypeAuthorization,其中Bearer Token格式是强制要求。
  • model:指定为 deepseek-chat,这是目前性价比最高的对话模型。
  • temperature:设置为0.7,这个数值对于情感类写作最合适,既不会太死板,也不会逻辑混乱。
  • 异常处理:加入了 try-except 块,防止因网络波动导致程序直接崩溃,这是生产环境代码的必备素养。

四、文章生成与自动化存储逻辑

Python搭建自媒体情感文章自动生成器实战指南

接下来,我们编写具体的业务逻辑。我们需要实现两个功能:一是生成爆款标题,二是生成正文,最后将内容自动保存为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号 网站地图