今天分享一个WordPress远程发布接口模块,这个东西其实网上挺多人分享的,但是找不到原作者,有点无语…
应该开发初始只是为了火车头使用的,不过使用Python这些都可以一样使用,站长实测是WordPress5.xxx、6.xxx都可以正常使用的,尽管下面介绍说支持最新Wordpress4.8.2,你忽略就好了,应该是发布的时候WordPress只有4.82版本。
模块说明
- WordPress免登录发布接口,支持最新Wordpress4.8.2
- 版本号: T3
- 适用于火车头采集器7.6-9.6
更新说明
- T3: 2017.11.03
- 1、优化了验证标题重复
- 2、优化了附件、图片、缩略图的上传和生成
- T2: 2017.10.23
- 1、增加了对多个分类方式的发布参数(post_taxonomy_list),使用方法请参考功能特性
- 2、修复BUG: 分类名称如果含有数字会导致分类错误
- T1:2017.10.12
- 1、旧版发布接口重新设计,新版本号为T1,以后不再对旧版升级维护.旧版本支持3.X-4.8.2
- 2、修复BUG:当规则中没有发布模块中某个参数时会导致发布数据异常(会显示db:标签名)
- 3、优化strtoarray函数
功能特性:
分类(category):
1、分类支持分类名和分类ID, 系统自动判断
2、多分类处理(多个分类请用逗号隔开)
3、自动创建分类,如果网站内没有这个分类,会自动创建分类。
4、自动创建父分类, 适用于想要设置父分类并且网站中不存在. 使用方法: WEB发布模块/高级功能/内容发布参数/ -> 增加 post_parent_cate
5、添加分类描述 使用方法: WEB发布模块/高级功能/内容发布参数/ -> 增加 category_description
标签:
1、多标签处理(多个标签请用逗号隔开)
作者:
1、多作者处理, 可设置多个作者随机发布文章, 发布参数中指定post_author
2、自定义作者功能,如果提交的数据为用户名的话,会自动检测系统是否存在该用户,如果已存在则以该用户发布,不存在则自动新建用户(接口以针对中文用户名进行了处理)
图片和缩略图:
1、Web图片上传,无需FTP上传
2、自动设置【标签:内容】的第一张图片为文章的特色图片.
3、支持自定定义缩略图(特色图像) 使用方法: WEB发布模块/高级功能/文件上传设置/ 增加 缩略图所在的标签,表单名为: thumb递增数字
3、标准的php.ini单次最大文件上传数为20个, 如果发布的内容附件超过20个,将会出错. 如果遇到此问题请更改php.ini的max_file_uploads 参数 . 或者更换上传方式为FTP
时间和预约发布:
1、正确的时间格式为2017-10-01 23:45:55或者2017-10-01 23:45
2、自动处理服务器时间与博客时间的时区差异
3、随机时间安排与预约发布功能: 可以设定发布时间以及启用预约发布功能. 启用预约发布后,如果POST过来的数据包涵时间,则以时间为准立即发布,反之则以接口文件配置时间发布。
评论:
1、发布评论,支持评论时间、评论作者、评论内容, 需要在火车头->Web发布模块/内容发布参数/ ->新增 comment、commentdate、commentauthor三个参数,分别对应评论内容、评论时间、评论作者. 三个参数缺一不可
其它:
1、标题重复判断, 打开参数配置中的$checkTitle,即可判断标题是否重复,对于重复结果不予发布.
2、发布文章后自动ping,需要再后台设置->撰写->更新服务 填入ping地址
3、’pending review’ 更新文章状态pending(审核) 为 publish(所有人可见)
自定义字段
1、使用方法: WEB发布模块/高级功能/内容发布参数/ -> 增加 post_meta[‘字段名’]
自定义文章类型(post_type)
1、使用方法: WEB发布模块/高级功能/内容发布参数/ -> 增加 post_type
自定义文章形式(post_format)
1、使用此功能需要修改配置参数 $postformat=true;并在火车头->Web发布模块/内容发布参数/->新增发布参数post_format, 标签内容必须为: 图像: post-format-image 视频: post-format-video
自定义分类(taxonomy):
1、使用方法: WEB发布模块/高级功能/内容发布参数/ -> 增加 post_taxonomy, 使用taxonomy之后, 文章只能发布在taxonomy所属的分类下, 分类名称或者ID请填写在分类category
自定义分类–多个分类–(taxonomy):
1、使用方法: WEB发布模块/高级功能/内容发布参数/ -> 增加 post_taxonomy_list[taxonomy_name], 使用后可以将文章归属到多个自定义分类下, 多个term必须使用|||隔开
自定义分类信息(add_term_meta)
1、使用方法: WEB发布模块/高级功能/内容发布参数/ -> 增加 post_cate_meta[‘meta_key’], 标签内容可以为文本或者数组,数组必须参照格式: key$$value|||key$$value|||key$$value
模块参数列表:
- post_title 必选 标题
- post_content 必选 内容
- tag 可选 标签
- post_category 可选 分类
- post_date 可选 时间
- post_excerpt 可选 摘要
- post_author 可选 作者
- category_description 可选 分类信息
- post_cate_meta[name] 可选 自定义分类信息
- post_meta[name] 可选 自定义字段
- post_type 可选 文章类型 默认为’post’
- post_taxonomy 可选 自定义分类方式
- post_format 可选 文章形式
使用说明
下载接口文件(locoy.php)后,把它放在你的WordPress根目录,打开它,往下拉一点你可以看到配置参数,这里设置对应的参数,后面都有对应的字面意思注释,这里不复述了。
为了安全起见,请配置下接口密码。并且把接口文件的名称改成其他的(例如:jiekou.php),小白注意,不要改后缀!!!
为了避免一些未知、切不必要的问题,接口文件的名称也不要改成中文!!!
使用post请求访问:你的域名/jiekou.php?action=save&secret=你的密码
修改接口说明
我分享的做了一点额外的修改,就是发布成功后会返回文章ID。不懂或者用不上可以忽略。
Python发布示例代码
# -*- coding: utf-8 -*-
import requests
def t_release():
article_content = """
文章内容
"""
url = '你的域名/jiekou.php?action=save&secret=你的密码'
article_dict = {
'post_title': '文章标题', # 必选 标题
'post_content': test_content, # 必选 内容
'tag': '', # 可选 标签
'post_category': 1, # 可选 分类
'post_date': '', # 可选 时间
'post_excerpt': '', # 可选 摘要
'post_author': 'admin', # 可选 作者
'category_description': '', # 可选 分类信息
'post_cate_meta[name]': '', # 可选 自定义分类信息
'post_meta[name]': '', # 可选 自定义字段
'post_type': 'post', # 可选 文章类型 默认为'post', page
'post_taxonomy': '', # 可选 自定义分类方式
'post_format': '', # 可选 文章形式
}
try:
r = requests.post(url, data=article_dict, timeout=10)
except requests.Timeout:
print('发布超时!!!')
except requests.RequestException as e:
print('发布出错:', e)
r.encoding = 'utf-8'
print('发布结果', r.text)
文件截图
火车头发布教程
文件中还附带一个火车头发布模块,不过我用不上,我也没用过火车头,所以就是不会用,一直是自己写爬虫,不过再网上找了个火车头教程文章,需要的看下就好了:
想要下载个