Python 自动发文章到 wordpress
如何使用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相关推荐
- python 自动发微博 (微博H5接口)
python自动发微博,调用微博H5接口 最近一直在研究这个,希望能用微博引流,话不多说 # /usr/bin/env python # -*- coding:utf-8 -*- import thr ...
- Python自动发短信给自己手机
Python自动发短信给自己手机 国外有一家公司Twilio推出了一项自动发送短信的服务,只需要在官网上注册并且获取权限即可,这在我们做服务器监控或者其他监控内容时有很大的作用,下面我直接提出代码. ...
- 通过Python自动发邮件《生如夏花》
今天ajupyter和姐姐出去逛了一天街,累死了.晚上读了一首非常美丽的诗词,是泰戈尔的<生如夏花>,感觉非常美,再加上前几天学会了用python自动发邮件,决定把这首诗发给自己的好朋友欣 ...
- python发送邮件 python发送qq,163,sohu, xinlang, 126等邮件 python自动发邮件总结及实例说明...
python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...
- Python实现头条自动发文章,赚点广告费!
前一段时间想尝试一下用 Python 实现自动发一些文章到头条上,因为头条没有提供API发布文章,所以只能通过一些浏览器自动化,实现自动发布文章.但是第一道坎就是登录账号的时候弹出来的滑块验证码. 相 ...
- python心得体会200字_50行代码让python自动生成文章
不知道从小到大,我们被迫写了多少心得体会,多少人生感想,如果真情实地的去感受写作然后成长当然很好,但是更多的都是形式主义的需求,并没有人去看里面的内容,白白浪费我们多少大好时光,有时候我们ctrl,C ...
- python自动化写作_50行代码让python自动生成文章
不知道从小到大,我们被迫写了多少心得体会,多少人生感想,如果真情实地的去感受写作然后成长当然很好,但是更多的都是形式主义的需求,并没有人去看里面的内容,白白浪费我们多少大好时光,有时候我们ctrl,C ...
- python 自动发微博_用 Python 自动定时发微博
原标题:用 Python 自动定时发微博 其实小帅b已经挺久没有玩微博了,记得上次玩微博还是为了给周杰伦打榜,不过最近心血来潮,觉得俺的微博账号躺着也是躺着,要不就用 Python 做一个自动定时发微 ...
- python自动发微信新闻网_用python自制微信机器人,定时发送天气预报
0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己.最近无意中发现了wxpy库,用它来做再合适不过了.以下是w ...
最新文章
- Linux下编辑器vi/vim的使用介绍
- python源代码的后缀名是_Python代码编译与反编译
- 机器学习中的异常检测手段
- SimplifiedHibernate:简化了的Hibernate
- md5加密后的数据如何解密_如何在云中加密数据
- c语言如何获取按键,c语言获得键盘的按键
- Chrome 浏览器扩展 - Dark Web - Dark Theme for Chrome
- SAP Spartacus breakpoint服务中platformID的注入逻辑
- Unity-Find-Script-References 查找脚本的引用
- 【Python基础知识-pycharm版】第八节-面向对象编程/类
- 2017年网易校招题 解救小易
- bat批处理执行python_通过批处理来运行python程序
- 设计方案--移动端延迟300ms的原因以及解决方案
- 武汉市房价数据挖掘与可视化分析(Python)
- 简单做(ZTD)的十个好习惯总结--转
- GoogleEarth二次开发平台指南(1) ---如何将谷歌地球嵌入到自定义的窗体中
- 60行C代码的shell领略Unix哲学之美
- Linux01---Linux常用命令
- 本地HTML访问REST服务的实现
- DedeCms织梦 tag标签静态化-教程
热门文章
- Vue实现 上传文件到七牛云
- Pytorch 分布式训练中DP和DDP的原理和用法
- C#控件的创建、属性设置及事件注册
- 【捡肥皂】Microsoft SQL Server 2000 MSSQL2000下载中文企业版个人版免费下载
- Spring和mima结合配置IoAccept中的sessionConfig中的属性
- 国产智能AI对话:技术狂潮之下,要有梦元宇宙正在改变世界
- git pull --prune
- 23230118英语学习
- 计算机在我们的生活中越来越重要英语,职业高中高一下学期期末英语试题卷5(含答案)...
- 英语总结系列(十六):这个四月真不错