如何使用Python将采集来的文章自动发表到wordpress博客呢,下面将具体操作步骤分享如下:

一、使用方法

1、将三个 模块 安装完成;
2、将代码复制成一个文件 wp.py;
3、将 md 格式的文章放置在一个固定文件夹:如存储在 D/markdown/doc;
4、将 wp.py 文件放置在 D/markdown 文件夹;
5、通过执行以下命令即可自动将写好的文章自动以送到 wordpress 博客:

python wp.py doc/20181222_test.md

二、更改

具体方法可以参考那篇文章,不过自己想记录的是自己的修改。

1、代码改正
原代码中有个单词错了,让我等小白找了一番才发现,将其改正,并整合在一起发上来。
将以下代码复制存储为一个 .py 文件即可:

# -*- coding:utf-8 -*-# 1 导入模块 front matter
import sys
import frontmatter
# 2 导入模块 markdown2
import markdown2
from markdown2 import Markdown
# 3 导入模块  wordpress_xmlrpc
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts,NewPost# 1 front matter
# 获得md文章路径信息
dir_md = sys.argv[1]
# 通过front matter.load函数加载读取文档里的信息
# 这里关于Python-front matter模块的各种函数使用方式GitHub都有说明,下面直接贴可实现的代码
post = frontmatter.load(dir_md)
# 将获取到的信息赋值给变量
post_title = post.metadata['title']
post_tag = post.metadata['tag']
post_category = post.metadata['category']
post_url = post.metadata['url']
# 通过print函数来看我们获取到信息状态,确定无误后这个步骤是不需要的
print(post_title)
print(post_tag)
print(post_category)
print(post_url)
print(post.content)# 2 markdown2
# post.content里面是我们md格式的正文内容,现在转换成HTML格式
markdowner = Markdown()
post_content_html = markdowner.convert(post.content)
post_content_html = post_content_html.encode("utf-8")
# 现在print post_content_html看看,是不是HTML标签了
print(post_content_html)# 3 wordpress_xmlrpc
wp = Client('http://www.95408.com/xmlrpc.php', '用户名', '密码')
# 现在就很简单了,通过下面的函数,将刚才获取到数据赋给对应的位置
post = WordPressPost()
post.title = post_title
# post.slug文章别名
# 我网站使用%post name%这种固定链接不想一长串,这里是最初md文章URL的参数,英文连字符格式
post.slug = post_url
post.content = post_content_html
# 分类和标签
post.terms_names = {'post_tag': post_tag,'category': post_category}
# post.post_status有publish发布、draft草稿、private隐私状态可选,默认草稿。如果是publish会直接发布
# post.post_status = 'publish'
# 推送文章到WordPress网站
wp.call(NewPost(post))

三、替代模块 markdown

查了一翻,除了作者推介的 python-markdown2 之外,还有一个使用者更多的版本 python-markdown ;
这个版本扩展性更好一点,虽然默认也是以 空格 为代码块的语法,但是可以增加一个代码块的扩展,就可以支持 python 代码内容这种形式的代码块了。

pip3 install markdown2

将 wp.py 文件中的模块及语法替换;

得到如下文件:

#!python
# -*- coding:utf-8 -*-# 1 导入frontmatter模块
import sys
import frontmatter
# 2.1 导入markdown模块
import markdown
# 3 导入wordpress_xmlrpc模块
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts,NewPost# 1 导入frontmatter模块
# 获得md文章路径信息
dir_md = sys.argv[1]
# 通过front matter.load函数加载读取文档里的信息
# 这里关于Python-front matter模块的各种函数使用方式GitHub都有说明,下面直接贴可实现的代码
post = frontmatter.load(dir_md)
# 将获取到的信息赋值给变量
post_title = post.metadata['title']
post_tag = post.metadata['tag']
post_category = post.metadata['category']
post_url = post.metadata['url']
# 通过print函数来看我们获取到信息状态,确定无误后这个步骤是不需要的
print(post_title)
print(post_tag)
print(post_category)
print(post_url)
print(post.content)# 2.1 markdown库导入
post_content_html = markdown.markdown(post.content, extensions=['markdown.extensions.fenced_code'])
# post_content_html = markdown.markdown(post.content)
post_content_html = post_content_html.encode("utf-8")
print(post_content_html)# 3 导入wordpress_xmlrpc模块
wp = Client('http://www.95408.com/xmlrpc.php', '用户名', '密码')
# 现在就很简单了,通过下面的函数,将刚才获取到数据赋给对应的位置
post = WordPressPost()
post.title = post_title
# post.slug文章别名
# 我网站使用%post name%这种固定链接不想一长串,这里是最初md文章URL的参数,英文连字符格式
post.slug = post_url
post.content = post_content_html
# 分类和标签
post.terms_names = {'post_tag': post_tag,'category': post_category}
# post.post_status有publish发布、draft草稿、private隐私状态可选,默认草稿。如果是publish会直接发布
post.post_status = 'publish'
# 推送文章到WordPress网站
wp.call(NewPost(post))

Python 自动发文章到 wordpress相关推荐

  1. python 自动发微博 (微博H5接口)

    python自动发微博,调用微博H5接口 最近一直在研究这个,希望能用微博引流,话不多说 # /usr/bin/env python # -*- coding:utf-8 -*- import thr ...

  2. Python自动发短信给自己手机

    Python自动发短信给自己手机 国外有一家公司Twilio推出了一项自动发送短信的服务,只需要在官网上注册并且获取权限即可,这在我们做服务器监控或者其他监控内容时有很大的作用,下面我直接提出代码. ...

  3. 通过Python自动发邮件《生如夏花》

    今天ajupyter和姐姐出去逛了一天街,累死了.晚上读了一首非常美丽的诗词,是泰戈尔的<生如夏花>,感觉非常美,再加上前几天学会了用python自动发邮件,决定把这首诗发给自己的好朋友欣 ...

  4. python发送邮件 python发送qq,163,sohu, xinlang, 126等邮件 python自动发邮件总结及实例说明...

    python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...

  5. Python实现头条自动发文章,赚点广告费!

    前一段时间想尝试一下用 Python 实现自动发一些文章到头条上,因为头条没有提供API发布文章,所以只能通过一些浏览器自动化,实现自动发布文章.但是第一道坎就是登录账号的时候弹出来的滑块验证码. 相 ...

  6. python心得体会200字_50行代码让python自动生成文章

    不知道从小到大,我们被迫写了多少心得体会,多少人生感想,如果真情实地的去感受写作然后成长当然很好,但是更多的都是形式主义的需求,并没有人去看里面的内容,白白浪费我们多少大好时光,有时候我们ctrl,C ...

  7. python自动化写作_50行代码让python自动生成文章

    不知道从小到大,我们被迫写了多少心得体会,多少人生感想,如果真情实地的去感受写作然后成长当然很好,但是更多的都是形式主义的需求,并没有人去看里面的内容,白白浪费我们多少大好时光,有时候我们ctrl,C ...

  8. python 自动发微博_用 Python 自动定时发微博

    原标题:用 Python 自动定时发微博 其实小帅b已经挺久没有玩微博了,记得上次玩微博还是为了给周杰伦打榜,不过最近心血来潮,觉得俺的微博账号躺着也是躺着,要不就用 Python 做一个自动定时发微 ...

  9. python自动发微信新闻网_用python自制微信机器人,定时发送天气预报

    0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己.最近无意中发现了wxpy库,用它来做再合适不过了.以下是w ...

最新文章

  1. Linux下编辑器vi/vim的使用介绍
  2. python源代码的后缀名是_Python代码编译与反编译
  3. 机器学习中的异常检测手段
  4. SimplifiedHibernate:简化了的Hibernate
  5. md5加密后的数据如何解密_如何在云中加密数据
  6. c语言如何获取按键,c语言获得键盘的按键
  7. Chrome 浏览器扩展 - Dark Web - Dark Theme for Chrome
  8. SAP Spartacus breakpoint服务中platformID的注入逻辑
  9. Unity-Find-Script-References 查找脚本的引用
  10. 【Python基础知识-pycharm版】第八节-面向对象编程/类
  11. 2017年网易校招题 解救小易
  12. bat批处理执行python_通过批处理来运行python程序
  13. 设计方案--移动端延迟300ms的原因以及解决方案
  14. 武汉市房价数据挖掘与可视化分析(Python)
  15. 简单做(ZTD)的十个好习惯总结--转
  16. GoogleEarth二次开发平台指南(1) ---如何将谷歌地球嵌入到自定义的窗体中
  17. 60行C代码的shell领略Unix哲学之美
  18. Linux01---Linux常用命令
  19. 本地HTML访问REST服务的实现
  20. DedeCms织梦 tag标签静态化-教程

热门文章

  1. Vue实现 上传文件到七牛云
  2. Pytorch 分布式训练中DP和DDP的原理和用法
  3. C#控件的创建、属性设置及事件注册
  4. 【捡肥皂】Microsoft SQL Server 2000 MSSQL2000下载中文企业版个人版免费下载
  5. Spring和mima结合配置IoAccept中的sessionConfig中的属性
  6. 国产智能AI对话:技术狂潮之下,要有梦元宇宙正在改变世界
  7. git pull --prune
  8. 23230118英语学习
  9. 计算机在我们的生活中越来越重要英语,职业高中高一下学期期末英语试题卷5(含答案)...
  10. 英语总结系列(十六):这个四月真不错