Wordpress博客内容迁移到Zblog博客系统

ItsMe2个月前 (10-20)程序开发289

如果原来有一个Wordpress系统搭建的站点,文章内容也有一些了,由于某些原因想要迁移到Zblog平台。手动迁移是最容易理解的(复制粘贴),但是这样一个文章就算1分钟,几千上万的数据,迁移也要不少时间。

前短时间学习了python编程,那就看看能不能用python自动迁移文章到Zblog平台吧!


实现步骤:

① 在Zlog后台设置界面,开启xml-rpc远程文章发布功能,并在python中安装引入xml-rpc库

import xmlrpc.client

zblog_url = "http://yourweb/zb_system/xml-rpc/index.php"
zblog_username = "username"
zblog_pass = "password"

#创建1个xmlrpc客户端
zblog_client = xmlrpc.client.ServerProxy(zblog_url,allow_none=True)


② 由于是自己的Wordpress平台,因此拥有数据库访问权限,第一步很简单通过sql指令,获取Wordpress文章id集合然后根据wordpress文章链接规则组合成url

wordpress_db = pymysql.connect(host='localhost', user='xxx',
                            password='xxx', db='xxxx',
                            charset='utf8')
wordpress_cursor = wordpress_db.cursor()

# 查询Discuz!帖子数据
wordpress_cursor.execute("select id from wp_posts where post_status='publish' and post_type='post' and id>14 ORDER BY id")  # 根据需要选择所需的帖子
posts = discuz_cursor.fetchall()

通过以上代码,就从wp_posts表中,查出了是发布状态的文章id列表。然后通过for循环将文章url前面部分组合进去就可以得到完整的博客url链接了!


同样的道理,如果没有数据库访问权限的网站,通过模拟访问获取


③ 通过response方法访问url地址,获取内容,并通过Beautifulsoup库找到需要发布到Zblog的内容。

response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
#获取标题
title = soup.find("h1", class_="entry-title").text

#获取关键字
article_keyword1 =''
article_keyword = soup.find("div","post-tags")
if article_keyword:
 article_keyword2 = article_keyword.find('span', class_="cat-links").find_all('a')
 for word in article_keyword2:
   article_keyword1=word.text+','+article_keyword1

#获取类型
category = soup.find("div", class_="post-category").find('span',class_="cat-links").find_all("a")[0].text

#获取帖子主体内容
content_all = soup.find("div", class_="entry-content bloglo-entry")
content_body =soup.find("div", class_="entry-content bloglo-entry").text


④ 将获取到的内容发布到Zblog平台

blog = zblog_client.metaWeblog.newPost('', zblog_username, zblog_pass, {
    'title': ,xxx # 标题
    'description': xxx,# 内容
    'categories': xxx,  # 分类
    'mt_keywords': xxx,  # 标签
    'mt_excerpt': xxx,  # 摘要
}, True)


ZBlog封面设置有一个好的地方,就是如果不单独设置文章封面,将默认以文章内第一个图片作为封面。因此在实用xml-rpc发布文章到Zblog时,不要单独识别图片链接,并上传到Zblog服务器(Wordpress测试相同功能时,就需要单独识别封面图片,再上传到服务起,并执行更新封面的操作)


以上,就是Wordpress迁移到Zblog的方法


本文我爱自学吧原创,转载请注明出处。原文地址:https://5izixue.com/?id=1161

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。