python-wordpress-xmlrpc使用Python脚本更新wordpress网站
模块是国外开发的,使用文档也是英文的。小编总结这个模块几种常用的使用方法。
安装:https://www.vnweek.com
easy_install python-wordpress-xmlrpc 或者 pip install python-wordpress-xmlrpc
带有自定义栏目字段的发布文章代码
#coding:utf-8fromwordpress_xmlrpcimportClient,WordPressPostfromwordpress_xmlrpc.methods.postsimportGetPosts,NewPostfromwordpress_xmlrpc.methods.usersimportGetUserInfofromwordpress_xmlrpc.methodsimportpostsfromwordpress_xmlrpc.methodsimporttaxonomiesfromwordpress_xmlrpcimportWordPressTermfromwordpress_xmlrpc.compatimportxmlrpc_clientfromwordpress_xmlrpc.methodsimportmedia,postsimportsysreload(sys)sys.setdefaultencoding('utf-8')wp=Client('http://您的域名/xmlrpc.php','后台账号','后台密码')post=WordPressPost()post.title='文章标题'post.content='文章内容'post.post_status='publish'#文章状态,不写默认是草稿,private表示私密的,draft表示草稿,publish表示发布post.terms_names={'post_tag':['test','firstpost'],#文章所属标签,没有则自动创建'category':['Introductions','Tests']#文章所属分类,没有则自动创建}post.custom_fields=[]#自定义字段列表post.custom_fields.append({#添加一个自定义字段'key':'price','value':3})post.custom_fields.append({#添加第二个自定义字段'key':'ok','value':'天涯海角'})post.id=wp.call(posts.NewPost(post))
带有特色图像缩略图的发布文章
#coding:utf-8fromwordpress_xmlrpcimportClient,WordPressPostfromwordpress_xmlrpc.methods.postsimportGetPosts,NewPostfromwordpress_xmlrpc.methods.usersimportGetUserInfofromwordpress_xmlrpc.methodsimportpostsfromwordpress_xmlrpc.methodsimporttaxonomiesfromwordpress_xmlrpcimportWordPressTermfromwordpress_xmlrpc.compatimportxmlrpc_clientfromwordpress_xmlrpc.methodsimportmedia,postsimportsysreload(sys)sys.setdefaultencoding('utf-8')wp=Client('http://您的域名/xmlrpc.php','后台账号','后台密码')filename='./my.jpg'#上传的图片文件路径# prepare metadatadata=https://www.it610.com/article/{'name':'picture.jpg','type':'image/jpeg',# mimetype}# read the binary file and let the XMLRPC library encode it into base64withopen(filename,'rb')asimg:data['bits']=xmlrpc_client.Binary(img.read())response=wp.call(media.UploadFile(data))# response == {#'id': 6,#'file': 'picture.jpg'#'url': 'https://www.vnweek.com/wp-content/uploads/2012/04/16/picture.jpg',#'type': 'image/jpeg',# }attachment_id=response['id']post=WordPressPost()post.title='文章标题'post.content='文章正文'post.post_status='publish'#文章状态,不写默认是草稿,private表示私密的,draft表示草稿,publish表示发布post.terms_names={'post_tag':['test','firstpost'],#文章所属标签,没有则自动创建'category':['Introductions','Tests']#文章所属分类,没有则自动创建}post.thumbnail=attachment_id#缩略图的idpost.id=wp.call(posts.NewPost(post))
除了可以发布文章,这个模块也可以单独创建新的分类和标签
#coding:utf-8fromwordpress_xmlrpcimportClient,WordPressPostfromwordpress_xmlrpcimportWordPressTermfromwordpress_xmlrpc.methodsimporttaxonomiesimportsysreload(sys)sys.setdefaultencoding('utf-8')wp=Client('http://您的域名/xmlrpc.php','后台账号','后台密码')#新建标签tag=WordPressTerm()tag.taxonomy='post_tag'tag.name='My New Tag12'#标签名称tag.slug='bieming12'#标签别名,可以忽略tag.id=wp.call(taxonomies.NewTerm(tag))#返回的id#新建分类cat=WordPressTerm()cat.taxonomy='category'cat.name='cat1'#分类名称cat.slug='bieming2'#分类别名,可以忽略cat.id=wp.call(taxonomies.NewTerm(cat))#新建分类返回的id#新建子分类parent_cat=client.call(taxonomies.GetTerm('category',20))#20是父分类的idchild_cat=WordPressTerm()child_cat.taxonomy='category'child_cat.parent=parent_cat.idchild_cat.name='My Child Category'#分类名称child_cat.slug='beidongdui'#分类别名,可以忽略child_cat.id=wp.call(taxonomies.NewTerm(child_cat))#新建分类返回的id
除非注明,否则均为乐海购原创文章,转载请以链接形式标明本文地址
【python-wordpress-xmlrpc使用Python脚本更新wordpress网站】本文链接:https://www.lehaigou.com/2019/0714209970.shtml
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- iOS中的Block