【自动发文】python实现WordPress文章发布(三):批量发布文章

上次教程我们已经讲到了用python发布单篇WordPress文章,但是只是单篇文章的发布,多篇文章发布的话就需要将函数封装一下,用文件读写的方式来获取文章并发布,本文将给大家继续介绍wordpress-xmlrpc里的一些方法,并在最后将这些方法组合起来,进行封装,实现批量发布多篇文章到WordPress后台。

今天先给大家介绍wordpress-xmlrpc里Methods类的taxonomies()方法。taxonomies方法主要用于获取文章分类,当然,这个分类不是指文章的栏目分类,具体是什么分类呢?我们使用taxonomies方法的GetTaxonomies()属性来获取一下所以分类试试,看获取到的分类是什么内容:

for   tax   in   client.call(taxonomies.GetTaxonomies()):

        print(tax)

发现跟我们之前写的文章发布分类字典内的键是一致的:

所以GetTaxonomies()获取到的分类是指写文章发布代码时用到的分类变量名。

taxonomies方法还有一个比较重要的属性是GetTerms(),这个属性可以获取到某个分类下所有的值,这里的分类就是我们刚才用GetTaxonomies()获取到的“category、post_tag、post_format”三个分类。怎么应用呢?比如我们想知道网站总共有哪些标签,就可以使用GetTerms('post_tag')来获取:

#for taxx in client.call(taxonomies.GetTerms('post_tag')):

for   tax   in   client.call(taxonomies.GetTerms('post_tag')):

        print(tax.name)

结果


NewTerms()属性:创建一个新的分类目录:

# 创建新的分类目录

wpt = WordPressTerm()# 实例化

wpt.name = '小说'# 赋值

wpt.slug = 'novel' # 别名

wpt.taxonomy = 'category'# 指定新建到哪个分类

client.call(taxonomies.NewTerm(wpt))# 返回新创建的分类栏目id

已经新建成功!

封装函数

还是先将之前采集的短文学网的散文txt文件拷贝到python代码文件夹内,如果没有的同学可以先查看《【文章采集】SEOer必学:文章采集案例之短文学网散文采集(二)》这篇文章,学习下如何采集。

post()函数封装:

def   post(client,title,content,category):

'''

    发布函数

    :param client: 链接WordPress客户端

    :param title: 标题

    :param content: 内容

    :param category: 分类,多个分类可以传入一个列表

    :return: 发布成功返回文章链接,失败False

    '''

    newpost = WordPressPost()

newpost.title = title# 标题

newpost.content = content# 正文

    newpost.terms_names = {

        'category':[category]

}# 栏目

newpost.post_status  = 'publish'# 发布状态

try:

        pid = client.call(posts.NewPost(newpost))

purl  = 'http://127.0.0.1/wordpress/?p=%s' % pid# 发布的文章url

except:

return   False

else:

return   purl

if__name__== '__main__':    主体执行代码:

content_list = [p.strip()forpinopen('duanwenxue.txt')]

try:

        ###  client = Client('http://dsfsfsdf.com/xmlrpc.php', 'xxx', 'xxxxx') # Client类:返回wordpress_xmlrpc.base.Client对象

        client = Client('http://127.0.0.1/wordpress/xmlrpc.php', 'admin', '123456')

except:

print('登录失败')

else:

print('登录成功')

for   article   in   content_list[:10]:# 前十篇

title,content = article.split('####') # 提取出文章标题和正文

print(post(client,title,content,'散文'))# 传入post()函数

可以看到已经发布成功了
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 爱人️七则: 修身、齐家 倾听、付出 赞美、认可 做自己,信任彼此 批评、共同成长 示弱、表达需要 知足,只此一生...
    Magic_Sheryl阅读 116评论 0 0
  • 哇这样的狗粮你要不要吃 最近看得到一组超级甜的情侣日常吵架对话截图,真的是在撕逼中甜到你! 哈哈哈你要不要学一下 ...
    搞笑有嘻哈阅读 152评论 0 0
  • 发展农村贫困地区的企业,一直都是我的梦想,我也是从最贫困的地区走进大城市的, 在我因为家庭的不和谐,感情的打击下,...
    LangwangQin阅读 236评论 1 1
  • 呼吸控制法是進入瑜伽的一個門檻,需要每一天堅持練習,用心感受每一天給身體帶來不一樣的改變,在沒有加入小班課之前,反...
    hello菜菜_d8b4阅读 143评论 0 0
  • 读经时间: 2017年3月30日 星期四 晴转阴 读经人员: 妈妈 读经内容: 复习《易经》63、64卦;《诗...
    161d968e601f阅读 122评论 0 0