运用Python实现WordPress网站大规模自动化发布文章

很多用WordPress建站的朋友都有这样的苦恼,网站建好了,没有时间自己写文章,慢慢就荒废了,还有的朋友在浏览器收集好多喜欢的博客网站地址,因为收集的网址太多太杂,从此也很少点开看。其实只要几行代码我们就可以完全利用Python和WordPress建一个属于自己的文章抓取站点。主要是运用python newspaper xmlrpc 模块编写实现网页爬虫,通过正则匹配爬取网页内容后,用xmlrpc自动发布到WordPress部署的网站。然后采用crond定时抓取。

第一部分:抓取目标页面的文章

#得到html的源码
def gethtml(url1):
    #伪装浏览器头部
    headers = {
       'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'
}

    req = urllib2.Request(
    url = url1,
    headers = headers
    )
    html = urllib2.urlopen(req).read()
    return html
#得到目标url源码
code1 = gethtml('https://www.baidu.com')#示例
#提取内容
content1 = re.findall('<h2 class="title"><a href="(.*)">(.*)</a></h2>',code1)#示例
#追加记录采集来的内容
f1 = open('contents1.txt','a+')
#读取txt中的内容
exist1 = f1.read()

第二部分:通过xmlrpc发送文章到WordPress

def sends():
    for i in range(len(content1)):
        u=content1[i][0]
        url='https://www.baidu.com'+u
        a=Article(url,language='zh')
        a.download()
        a.parse()
        dst=a.text
        title=a.title

        #链接WordPress,输入xmlrpc链接,后台账号密码
        wp = Client('http://www.python-cn.com/xmlrpc.php','username','password')
        post = WordPressPost()
        post.title = title
        post.content = dst
        post.post_status = 'publish'
        #发送到WordPress
        wp.call(NewPost(post))
        time.sleep(3)
        print 'posts updates'

最后,通过crontab定时运行程序,采集指定文章发送的WordPress

0 12 * * 2 /usr/bin/python /home/workspace/python-cn/python-cn.py

原文发布于微信公众号 - Python中文社区(python-china)

原文发表时间:2016-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

WebStorm 常用功能的使用技巧分享

WebStorm 是 JetBrain 公司开发的一款 JavaScript IDE,使用非常方便,可以使编写代码过程更加流畅。 本文在这里分享一些常用功能的使...

29880
来自专栏前端人人

React第三方组件4(状态管理之Reflux的使用①简单使用)

本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件4(状态管理之Reflux的使用①...

33380
来自专栏腾讯NEXT学位

小程序初学者必读——小程序的简单入门

23930
来自专栏前端大白专栏

基于mpvue开发微信小程序,vue能用的,用mpvue哪些情况不能用

41870
来自专栏数据结构笔记

python爬虫系列之 xpath实战:批量下载壁纸

我们要爬取的目标网站是:http://www.netbian.com/,这个网站长这样:

42540
来自专栏小古哥的博客园

微信小程序-开发入门(一)

微信小程序已经火了一段时间了,之前一直也在关注,就这半年的发展来看,相对原生APP大部分公司还是不愿意将主营业务放到微信平台上,以免受制于腾讯,不过就小程序的应...

66350
来自专栏Android机动车

使用Fiddler抓取bilibili安卓客户端口数据并分析http、https

经过了一个多星期的时间(自2017/10/16开始),到目前(2017/10/24)为止,项目框架的搭建已基本完成、还完成了首页中「直播」与「推荐」Fragme...

30110
来自专栏重庆的技术分享区

Vim定制化简介

Vim是几乎所有Unix系统中都会存在的少数文本编辑器之一。虽然最初的学习曲线是不可避免的,但Vim的目标是成为一个高效的文本编辑器,并提供一个根据用户喜好可配...

15320
来自专栏Google Dart

AngularDart4.0 指南-体系结构概述 顶

AngularDart(我们通常在这个文档中简单地称为Angular)是一个框架,用于在HTML和Dart中构建客户端应用程序。它是作为Angular包发布的,...

9130
来自专栏编程之路

羊皮书APP(Android版)开发系列(一)Icon图片生成神器

        工欲善其事,必先利其器,我们要开发一款app,首先我们肯定要知道app的名字,其次我们就要准备app的logo图片,而这个logo图片又有多种尺...

10330

扫码关注云+社区

领取腾讯云代金券