一篇文章,AI 帮你拆成小红书笔记 + 微博短文案。自动提炼金句、改写风格、加标签,一键多平台发布。
项目背景
你是不是也有这个痛点:
花一下午写一篇公众号长文,发出去后发现小红书和微博还没内容可发。
手动改写?太累了。直接复制粘贴?平台调性不同,效果差。
今天搭一个自动化脚本:输入公众号文章链接或文本,AI 自动拆成小红书笔记 + 微博短文案,还能带标签、emoji、分段排版。
全程跑在本地,零 API 成本(用 Ollama)。
技术选型
- Python 3.10+:主语言
- Ollama + qwen2.5:7b:本地 LLM,免费无限制
- readability-lxml:从网页提取正文
- requests:HTTP 请求
实现步骤
第一步:安装依赖
pip install readability-lxml requests
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b
第二步:核心脚本
创建 content_rewriter.py:
#!/usr/bin/env python3
"""
AI 内容改写器:公众号文章 → 小红书 + 微博
"""
import sys
import json
import requests
import subprocess
from readability import Document
from html import unescape
OLLAMA_URL = "http://localhost:11434/api/generate"
MODEL = "qwen2.5:7b"
def fetch_article(url: str) -> str:
"""从 URL 提取正文"""
resp = requests.get(url, headers={
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
"AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36"
}, timeout=15)
doc = Document(resp.text)
title = unescape(doc.title())
summary = unescape(doc.summary().strip())
return f"标题:{title}\n正文:{summary}"
def call_ollama(prompt: str, system: str = "") -> str:
"""调用本地 Ollama 模型"""
payload = {
"model": MODEL,
"prompt": prompt,
"system": system,
"stream": False,
"options": {"temperature": 0.7, "num_predict": 2000}
}
resp = requests.post(OLLAMA_URL, json=payload, timeout=120)
return resp.json().get("response", "")
def rewrite_to_xiaohongshu(article_text: str) -> str:
"""改写为小红书风格"""
system = """你是一个小红书爆款文案写手。
特点:标题有吸引力、多用 emoji、分段清晰、结尾加标签。"""
prompt = f"""请把以下文章改写成小红书笔记:
{article_text}
要求:
1. 标题 15 字以内,要吸睛
2. 正文分 3-5 段,每段 2-4 句
3. 适当使用 emoji(每段开头一个)
4. 结尾加 5-8 个相关标签(#开头)
5. 语气口语化、有感染力
只输出改写后的完整笔记,不要解释。"""
return call_ollama(prompt, system)
def rewrite_to_weibo(article_text: str) -> str:
"""改写为微博风格"""
system = "你是一个微博运营专家,擅长写短平快的热门文案。"
prompt = f"""请把以下文章改写成微博文案:
{article_text}
要求:
1. 字数 140 字以内
2. 开头一句抓人眼球
3. 内容精炼,有 1-2 个核心观点
4. 结尾加 2-3 个话题标签(#话题# 格式)
5. 适合转发和评论
只输出改写后的文案,不要解释。"""
return call_ollama(prompt, system)
def main():
if len(sys.argv) < 2:
print("用法: python3 content_rewriter.py <公众号文章URL>")
print("或者: cat article.txt | python3 content_rewriter.py")
sys.exit(1)
url = sys.argv[1]
# 判断是 URL 还是文件
if url.startswith("http"):
print(f"正在抓取文章: {url}")
article_text = fetch_article(url)
else:
with open(url, "r", encoding="utf-8") as f:
article_text = f.read()
print("\n" + "="*50)
print("📕 小红书笔记")
print("="*50)
xhs = rewrite_to_xiaohongshu(article_text)
print(xhs)
print("\n" + "="*50)
print("📱 微博文案")
print("="*50)
wb = rewrite_to_weibo(article_text)
print(wb)
# 保存到文件
import os
os.makedirs("output", exist_ok=True)
with open("output/xiaohongshu.md", "w", encoding="utf-8") as f:
f.write(xhs)
with open("output/weibo.txt", "w", encoding="utf-8") as f:
f.write(wb)
print("\n✅ 已保存到 output/ 目录")
if __name__ == "__main__":
main()
第三步:运行
# 直接传 URL
python3 content_rewriter.py "https://mp.weixin.qq.com/s/xxxxxx"
# 或者传本地文本文件
python3 content_rewriter.py ./article.txt
第四步:批量处理(可选)
创建一个 batch_rewriter.py 处理多个链接:
#!/usr/bin/env python3
"""批量改写多篇文章"""
import subprocess
import sys
urls = [
"https://mp.weixin.qq.com/s/xxxx1",
"https://mp.weixin.qq.com/s/xxxx2",
"https://mp.weixin.qq.com/s/xxxx3",
]
for i, url in enumerate(urls, 1):
print(f"\n[{i}/{len(urls)}] 处理: {url}")
subprocess.run(["python3", "content_rewriter.py", url], check=True)
print(f"✅ {i}/{len(urls)} 完成")
运行效果
==================================================
📕 小红书笔记
==================================================
🔥 这篇公众号文章真的太绝了!看完我直接醒悟...
📌 第一段要点
用生活化的方式展开,带一点情绪共鸣。
💡 第二段要点
提炼核心方法论,给出可操作的步骤。
✨ 第三段总结
结尾升华 + 引导互动。
#公众号文章 #内容创作 #写作技巧 #自媒体运营
#小红书爆款 #文案改写
==================================================
📱 微博文案
==================================================
看完这篇公众号文章,我找到了内容创作的正确打开方式 🎯
核心就三点:
1️⃣ 找到真实痛点
2️⃣ 给出可执行方案
3️⃣ 用故事包装道理
#内容创作 #写作干货 #自媒体
优化方向
- 接入 Cloud API:Ollama 推理慢时,可切换到通义千问/DeepSeek API,速度更快
- 缓存机制:同一篇文章只改写一次,结果存 Redis,避免重复调用
- 定时任务:结合 Hermes cron,每天早上自动抓取订阅的公众号,批量生成多平台内容
- 风格模板:预设多种风格(干货型 / 情感型 / 测评型),让改写更精准
- 图片生成:配套跑一个封面图生成脚本,用 FLUX 自动生成小红书封面
脚本仓库:GitHub Gist
本文发布于 navbox.com.cn,转载请注明出处。
这篇文章对你有帮助吗?