前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python XML-RPC 自动(离线)发布Zblog博客文章

Python XML-RPC 自动(离线)发布Zblog博客文章

作者头像
二爷
发布2022-06-14 16:33:15
8220
发布2022-06-14 16:33:15
举报
文章被收录于专栏:二爷记

站佬哥们要的东西,自动OR离线发布博客文章,开源程序为Zblog,其实Wordpress一样适用,毕竟都是博客类程序,都是有这样的api接口可以使用!

其实想要实现文章自动发布,还是挺简单的,理论上就是插入数据库表,当然这是最暴力的方式,适合个人,比如本渣渣使用,不适合公司或者组织,毕竟如果某天操作的老哥抽风,一键删库跑路就糟糕了!

本渣渣在使用Wordpress时自动发布博客,基本都是强上,直接强插数据库,最不济也是模拟POST发包提交数据,毕竟天天水论坛不是白水的,XML-RPC确实也是第一次使用,之前还真没听说过!

关于XML-RPC

XML-RPC是一个远程过程调用(远端程序呼叫)(remote procedure call,RPC)的分布式计算协议,通过XML将调用函数封装,并使用HTTP协议作为传送机制。

自动(离线)发布Zblog博客文章
  1. Zblog博客后台设置开启XML-RPC协议

首先需要在网站后台设置里开启,网站设置-全局设置-启用XML-RPC协议!

如果不需要使用到该功能,建议不要开启使用!

  1. 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!

  1. 关于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 . . .

公众号不挣钱,交个网友。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于XML-RPC
  • 自动(离线)发布Zblog博客文章
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档