Wordpress博客内容迁移到Zblog博客系统
如果原来有一个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