站佬哥们要的东西,自动OR离线发布博客文章,开源程序为Zblog,其实Wordpress一样适用,毕竟都是博客类程序,都是有这样的api接口可以使用!
其实想要实现文章自动发布,还是挺简单的,理论上就是插入数据库表,当然这是最暴力的方式,适合个人,比如本渣渣使用,不适合公司或者组织,毕竟如果某天操作的老哥抽风,一键删库跑路就糟糕了!
本渣渣在使用Wordpress时自动发布博客,基本都是强上,直接强插数据库,最不济也是模拟POST发包提交数据,毕竟天天水论坛不是白水的,XML-RPC确实也是第一次使用,之前还真没听说过!
关于XML-RPC
XML-RPC是一个远程过程调用(远端程序呼叫)(remote procedure call,RPC)的分布式计算协议,通过XML将调用函数封装,并使用HTTP协议作为传送机制。
自动(离线)发布Zblog博客文章
- Zblog博客后台设置开启XML-RPC协议
首先需要在网站后台设置里开启,网站设置-全局设置-启用XML-RPC协议!
如果不需要使用到该功能,建议不要开启使用!
- Python XML-RPC 自动(离线)发布源码
本渣渣这里使用的是Python3,使用自带的xmlrpc库即可,无需在另外安装第三方库。
代码语言:javascript复制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': "测试一下22", #标题
'description': "测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1测试一下啊 啊啊 啊1", #内容
'categories': '分类一', #分类
'mt_keywords':'用法', #标签
'mt_excerpt':"试试看哪款卡k!", #摘要
}, True)
print(blog)
发布成功,没有报错的话,是返回一个值:True!
- 关于Zblog博客标签相关字段
关于Zblog博客标签相关字段可以参考一下 XML-RPC接口 php源码!
代码语言:javascript复制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>';
其他相关字段就看你自己去尝试了!
当然还有关于发布的更多用法,其实还有很多,本渣渣也不会,大佬哥们可以自行研究!
以上仅供学习参考!
参考来源:
1.Python3使用MetaWeblog接口读写CSDN博客
https://blog.csdn.net/shajunxing/article/details/79553472
2.xmlrpc.client— XML-RPC 客户端访问
https://docs.python.org/3/library/xmlrpc.client.html
3.python调用zblog的xml-rpc离线发布
https://bbs.zblogcn.com/thread-44725.html
4.MetaWeblog API中文说明
https://www.cnblogs.com/makalochen/p/14434768.html
·················END················· 你好,我是二大爷,
革命老区外出进城务工人员,
互联网非早期非专业站长,
喜好python,写作,阅读,英语
不入流程序,自媒体,seo . . .
公众号不挣钱,交个网友。