千家信息网

metaWeblog同步博客遇到的问题怎么解决

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"metaWeblog同步博客遇到的问题怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2025年12月02日metaWeblog同步博客遇到的问题怎么解决

本篇内容介绍了"metaWeblog同步博客遇到的问题怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

技术上使用metaWeblog就可以实现上述目的,选用python的xmlrpclib可以方便的进行xmlrpc操作。做一个控制台的小程序足够了我使用了。

然后开始技术实验,发现:

  1. wordpress支持metaWeblog很好,可以实现所有的功能。从wordpress可以通过metaWeblog.getRecentPosts函数得到所有的文章。

  2. cnblogs也支持metaWeblog,也支持的很好。cnblogs也支持我的语法高亮。但遗憾的是:第一:metaWeblog.getRecentPosts函数最多能够返回100个文章。而我的cnblogs目前有230篇文章,很显然,cnblogs限制了文章数量;第二:metaWeblog.newPost函数即便Post结构中有dateCreated,但cnblogs的主界面中依然按照当前时间计算,造成文章时间对不上号,顺序混乱。

  3. csdn就是个垃圾,metaWeblog表面上支持,暗地里出问题。metaWeblog.getRecentPosts,metaWeblog.editPost都无法用,提示User not exist。仅有metaWeblog.newPost可以用,但csdn的blog的语法高亮无法用,页面很难看。

所以,想实现我的目的通过metaWeblog看来是没希望了。除非cnblogs调整文章数量限制,csdn希望从垃圾变成战斗机了。

附我写的一个测试代码,不完善,仅作为参考:

import xmlrpclibclass Metablog:    def __init__(self, url, username, password):        self.username=username        self.password=password        self.url=url        self.server=xmlrpclib.ServerProxy(url)        self.posts=None    def getAllPosts(self):        print "Getting all posts from "+self.url        self.posts=self.server.metaWeblog.getRecentPosts('', self.username, self.password, 9999999)        print "found "+ str(len(self.posts)) +" posts"        return self.posts;    def getAllPostTitle(self):        if self.posts==None:            self.getAllPosts()        ret=dict()        for post in self.posts:            ret[post["postid"]]=post["title"]        return ret    def getPost(self, id):        for post in self.posts:            if post["postid"]==id:                return post        return None    def newPost(self, post):        self.server.metaWeblog.newPost('', self.username, self.password, post, True)    def editPost(self,postid, post):        self.server.metaWeblog.editPost(postid, self.username, self.password, post, True)    def delPost(self, postid):        self.server.metaWeblog.deletePost('',postid, self.username, self.password, True)def syncBlog(b1, b2):    b1Titles=b1.getAllPostTitle()    b2Titles=b2.getAllPostTitle()    for key1,value1 in b1Titles.iteritems():        print "Blog1 title: "+value1        for key2,value2 in b2Titles.iteritems():            print "tBlog2 title: "+value2            if value1==value2:                print "Syncing, blog 2 postid="+key2                b2.editPost(keys2, b1.getPost(key1))                break        print "Blog2 has no article equal to title :"+value1        print "Add new "        b2.newPost(b1.getPost(key1))    print "Done sync"wpBlog=Metablog("主站地址", "用户名", "密码")cnBlog=Metablog("从站地址", "用户名", "密码")syncBlog(wpBlog, cnBlog)

"metaWeblog同步博客遇到的问题怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

文章 支持 问题 函数 博客 同步 内容 地址 垃圾 密码 技术 数量 时间 更多 用户 用户名 目的 知识 语法 高亮 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 厦门手机软件开发需要多少钱 幻书启世录什么服务器好 软件开发不做企业软件能做什么呢 五莲网络安全培训班 怎么自动删除数据库引擎日志 依兰天气预报软件开发 中国专利数据库检索系统 互联网科技的新闻发布会 都匀服务器显卡生产厂家 计算机三级网络技术英文简称 数据库将所有学生年龄加一岁 苹果电脑如何登录华为云服务器 数据库约束冲突怎么解决 什么数据库包括视频 星空夺宝软件开发 sql数据库查询练习题 获奖查询网络安全知识竞赛 安徽有哪些软件开发公司 es删除所有数据库 生产数据服务器的公司 数据库复制时用不用停机 工信部网络安全共享平台 数据服务器如何防护 威联通安装塔式服务器 小程序天津网络技术公司 深圳布塔网络技术有限公司 沈阳 软件开发 网络安全与数据信息安全相关 网络技术对手机是如何收费的 学软件开发技术
0