ZBLOG PHP也是我们比较喜欢的开源博客程序,相比WP程序而言轻便一些,而且内容复杂相对来说比较好。唯独稍微不够满意的就是主题和常见不够开放。这里,我也有需要用到Python发布文章的,这里可以借助ZBLOG 的XML-RPC离线发布。

Python利用XML-RPC离线发布ZBLOG PHP文章
Python利用XML-RPC离线发布ZBLOG PHP文章

我们需要先开启协议。然后再用Python XML-RPC发布。

import xmlrpc.client
username="管理员用户名"
password="管理员密码"
apiurl="http://域名/zb_system/xml-rpc/index.php"  #接口地址填写自己zblog域名地址
blogid=''
s = xmlrpc.client.ServerProxy(apiurl) #链接xmlrpc
print(s)
blog=s.metaWeblog.newPost('',username, password, {
'title': "标题文章", #标题
'description': "内容文章", #内容
'categories': '分类', #分类
'mt_keywords':'关键字', #标签
'mt_excerpt':"文章摘要", #摘要
}, True)
print(blog)

而且ZBLOG PHP的标签可以参考:

function xmlrpc_getRecentPosts($n)
{
global $zbp;
$strXML = '<methodResponse><params><param><value><array><data>$%#1#%$</data></array></value></param></params></methodResponse>';
$strSingle = '<value><struct>
<member><name>title</name><value><string>$%#1#%$</string></value></member>
<member><name>description</name><value><string>$%#2#%$</string></value></member>
<member><name>dateCreated</name><value><dateTime.iso8601>$%#3#%$</dateTime.iso8601></value></member>
<member><name>categories</name><value><array><data><value><string>$%#4#%$</string></value></data></array></value></member>
<member><name>postid</name><value><string>$%#5#%$</string></value></member>
<member><name>userid</name><value><string>$%#6#%$</string></value></member>
<member><name>link</name><value><string>$%#7#%$</string></value></member>
<member><name>permaLink</name><value><string>$%#8#%$</string></value></member>
<member><name>mt_keywords</name><value><string>$%#9#%$</string></value></member>
<member><name>wp_slug</name><value><string>$%#10#%$</string></value></member>
<member><name>mt_excerpt</name><value><string>$%#11#%$</string></value></member>
<member><name>mt_text_more</name><value><string>$%#12#%$</string></value></member>
<member><name>mt_basname</name><value><string>$%#13#%$</string></value></member>
<member><name>mt_allow_comments</name><value><int>$%#14#%$</int></value></member>
<member><name>page_status</name><value><string>$%#15#%$</string></value></member>
</struct></value>';

发表回复