使用Python自动发布文章到WordPress

来自:素雅营销研究院

头像 方知笔记
2025年06月03日 22:17

在当今数字化时代,自动化技术为内容管理带来了极大的便利。对于使用WordPress搭建网站的用户来说,通过Python脚本自动发布文章可以显著提高工作效率。本文将介绍如何利用Python和WordPress的REST API实现文章的自动发布。

1. 准备工作

在开始之前,确保你已具备以下条件:

  • 一个WordPress网站,并确保REST API已启用(默认开启)。
  • WordPress管理员账号,用于生成API认证密钥。
  • Python环境(建议3.6以上版本),并安装requests库(可通过pip install requests安装)。

2. 获取WordPress API认证

WordPress REST API使用Basic Auth或OAuth进行身份验证。推荐使用Application Passwords(适用于WordPress 5.6+版本):

  1. 进入WordPress后台,在用户→个人资料页面底部生成一个应用密码。
  2. 保存生成的密码(仅显示一次),格式为用户名:应用密码,用于API请求的认证。

3. 编写Python脚本

以下是一个简单的Python示例,通过WordPress REST API发布新文章:

import requests
import json

# WordPress站点配置
WORDPRESS_URL = "https://你的网站地址/wp-json/wp/v2"
USERNAME = "你的WordPress用户名"
APPLICATION_PASSWORD = "上一步生成的应用密码"

# 文章内容
post_data = {
"title": "Python自动发布的测试文章",
"content": "这是通过Python脚本自动发布到WordPress的文章内容。",
"status": "publish"  # 草稿为"draft"
}

# 发送请求
response = requests.post(
f"{WORDPRESS_URL}/posts",
auth=(USERNAME, APPLICATION_PASSWORD),
json=post_data
)

# 输出结果
if response.status_code == 201:
print("文章发布成功!")
else:
print(f"发布失败,错误代码:{response.status_code}")
print(response.text)

4. 扩展功能

  • 上传媒体文件:通过/wp/v2/media接口上传图片或附件。
  • 设置分类和标签:在post_data中添加categoriestags参数。
  • 定时发布:结合Python的schedule库或服务器定时任务(如Cron)实现定时发布。

5. 注意事项

  • 确保API请求的权限安全,避免泄露应用密码。
  • 生产环境中建议使用更安全的OAuth认证方式。
  • 处理异常情况(如网络错误、认证失败等)以增强脚本健壮性。

通过上述方法,你可以轻松实现Python与WordPress的联动,批量管理内容或集成其他数据源(如爬虫、数据库),进一步释放自动化潜力。