豆包 API 生成内容一键发布 WordPress 完整方案

laoluo
laoluo
laoluo
管理员
32
文章
0
粉丝
教程评论16阅读模式

整体流程

火山方舟豆包 API 生成文章 → Markdown 转 HTML → WordPress REST API 自动发布,分准备配置、Python 完整脚本、高级优化、避坑指南四部分。

一、前置配置(必做)

1. 获取豆包 API 密钥(火山方舟)

  1. 登录火山引擎方舟平台,完成实名认证
  2. 创建推理接入点,复制:
    • ARK_API_KEY(鉴权密钥)
    • ENDPOINT_ID(模型 ID,推荐doubao-pro-32k
  3. API 固定地址:https://ark.cn-beijing.volces.com/api/v3/chat/completions

2. WordPress 站点开启 API 并生成应用密码

  1. 后台→设置→永久链接,选择非朴素链接(否则 REST API 失效)
  2. 用户→你的个人资料,拉到最下方应用密码
    • 新建名称(如 AI 自动发文),复制生成的密码(空格分隔,完整保存)
  3. 记录 3 个参数:
    • WP 网站地址:https://你的域名
    • WP 后台用户名
    • WP 应用密码

3. 本地环境依赖

pip install requests python-dotenv markdown

二、完整可运行 Python 脚本(一键生成 + 发布)

新建.env文件存放密钥(防止硬编码泄露)

# .env配置文件
# 豆包火山方舟
ARK_API_KEY=你的方舟API密钥
ENDPOINT_ID=doubao-pro-32k

# WordPress配置
WP_SITE=https://你的wp网站域名
WP_USER=wp后台用户名
WP_APP_PWD=wp应用密码
# 发布状态 publish立即发布 / draft草稿
POST_STATUS=publish
# 文章分类ID(后台文章分类编辑页地址末尾数字)
CAT_ID=1

主程序ai_publish_wp.py

import os
import requests
import markdown
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()
# ========== 配置读取 ==========
ARK_API_KEY = os.getenv("ARK_API_KEY")
ENDPOINT_ID = os.getenv("ENDPOINT_ID")
WP_SITE = os.getenv("WP_SITE")
WP_USER = os.getenv("WP_USER")
WP_APP_PWD = os.getenv("WP_APP_PWD")
POST_STATUS = os.getenv("POST_STATUS")
CAT_ID = int(os.getenv("CAT_ID"))

# 1. 调用豆包API生成文章(输出标准Markdown)
def generate_article(prompt: str) -> dict:
    url = "https://ark.cn-beijing.volces.com/api/v3/chat/completions"
    headers = {
        "Authorization": f"Bearer {ARK_API_KEY}",
        "Content-Type": "application/json"
    }
    # System指令强制输出固定结构:标题+正文Markdown
    sys_prompt = """
    你是专业文案写手,严格按照以下格式输出,不要多余解释:
    # 文章标题
    正文使用标准markdown,包含分段、小标题、列表,适合博客发布
    输出仅返回标题+正文,不要前言后语
    """
    payload = {
        "model": ENDPOINT_ID,
        "messages": [
            {"role": "system", "content": sys_prompt},
            {"role": "user", "content": prompt}
        ],
        "temperature": 0.7
    }
    resp = requests.post(url, headers=headers, json=payload)
    if resp.status_code != 200:
        raise Exception(f"豆包API调用失败:{resp.text}")
    full_text = resp.json()["choices"][0]["message"]["content"].strip()

    # 拆分标题和正文
    lines = full_text.split("\n", 1)
    title = lines[0].replace("# ", "").strip()
    md_content = lines[1].strip() if len(lines) > 1 else full_text
    # Markdown转WordPress支持的HTML
    html_content = markdown.markdown(md_content, extensions=["extra"])
    return {"title": title, "html": html_content}

# 2. 发布内容到WordPress REST API
def publish_to_wp(title: str, html_content: str):
    wp_api = f"{WP_SITE}/wp-json/wp/v2/posts"
    # Basic鉴权:用户名:应用密码base64编码
    auth_str = f"{WP_USER}:{WP_APP_PWD}"
    headers = {
        "Authorization": f"Basic {requests.utils.b64encode(auth_str.encode()).decode()}",
        "Content-Type": "application/json"
    }
    post_data = {
        "title": title,
        "content": html_content,
        "status": POST_STATUS,
        "categories": [CAT_ID],  # 分类ID数组,多分类追加
        "excerpt": html_content[:120]  # 自动摘要
    }
    resp = requests.post(wp_api, headers=headers, json=post_data)
    res = resp.json()
    if resp.status_code == 201:
        print(f"✅ 发布成功!文章ID:{res['id']}")
        print(f"文章地址:{res['link']}")
        return res
    else:
        raise Exception(f"WP发布失败:{res}")

# 3. 一键执行入口
if __name__ == "__main__":
    # 修改这里为你的写作需求
    user_prompt = "写一篇2000字新手WordPress建站完整教程,通俗易懂"
    print("🔄 正在调用豆包生成文章...")
    article = generate_article(user_prompt)
    print(f"📄 生成完成,标题:{article['title']}")
    print("🚀 正在发布到WordPress...")
    publish_to_wp(article["title"], article["html"])

三、运行与使用

  1. 填充.env内所有密钥参数
  2. 修改代码底部user_prompt为你需要写作的主题
  3. 执行脚本
python ai_publish_wp.py

执行逻辑:

  1. 请求豆包生成结构化 Markdown 文章
  2. 自动拆分标题,Markdown 转为 WP 兼容 HTML
  3. 通过 WP 官方 REST 接口自动新建文章(草稿 / 直接发布)

四、进阶扩展功能

1. 自动生成文章标签

generate_article的 system 指令增加标签输出,解析后传入 WP 接口:

# payload增加标签输出,解析tags数组
post_data["tags"] = [12,15] # 标签ID列表

2. 自动上传特色图

调用图床 API 获取图片 URL,在 WP 请求增加featured_media(媒体 ID)

3. 批量生成发布

循环 prompt 列表,增加异常捕获、失败重试

4. 网页可视化操作(简易前端)

使用 Flask 搭建页面,输入 prompt 点击按钮触发整套流程,实现网页端 “一键发布”

五、常见报错与避坑

  1. WordPress 401 鉴权失败
    • 应用密码必须完整复制(包含空格),不要手动改空格
    • 不能使用登录密码,必须后台生成应用密码
  2. 豆包 API 401/403
    • ARK_API_KEY 复制完整,检查接入点是否正常开通、有余额
  3. WP 404 接口不存在
    • 永久链接不能是朴素链接,保存一次固定链接
    • 访问域名/wp-json/wp/v2/posts测试接口是否可访问
  4. Markdown 排版错乱
    • 指令强制 AI 输出标准 markdown,使用markdown.extensions["extra"]支持表格、代码块
  5. 服务器部署注意
    • 关闭 WP 站点防盗链、IP 限制,否则服务器无法调用 WP API
    • 密钥文件.env禁止公开,加入.gitignore

六、无代码替代方案(不懂编程)

  1. 工具:AutoGPT、n8n、简道云
  2. 流程:
    • HTTP 请求节点调用豆包 API 生成文本
    • Markdown 转 HTML 工具节点
    • 第二个 HTTP 节点请求 WordPress REST API 完成发布
  3. 优势:拖拽可视化流程,无需编写代码,适合非开发人员

 
laoluo
  • 本文由 laoluo 发表于2026年6月16日 10:19:44
  • 转载请务必保留本文链接:https://www.mydata-api.com/tutorials/52.html
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证