csdnblog 提供了远程过程调用接口metablogapi 我们可以使用python 做一些相关的操作, 如发表文章,删除文章,等等下面以csdnblog为例, 来说明一下, 如何获取分类列表;csdn blog的接口地址是
http://blog.csdn.net/xkou /services/metablogapi.aspx, 把中间xkou的 换成你的用户名就可以调用rpc使用python 自带 xmlrpclib,各用可用的接口可以参考
http://blog.csdn.net/xkou/services/metablogapi.aspx可以看到我们要取得分类所用的函数为
mt.getCategoryList参数可见下面的列表
method mt.getCategoryList
Gets a list of active categories for a given blog as an array of MT category struct.
Parameters
string | blogid |
string | username |
string | password |
Return Value
由此可见 getCategoryList 需要三个参数, blogid, username,和 passowrd, 类型为 stringl, 所以我们可以这样调用metaWeblog.getRecentPosts('',self.username, self.password, n)返回值为一个结构
struct MtCategory
Members
string | categoryId |
string | categoryName |
boolean | isPrimary (optional) |
下面是代码 ,#! coding: utf-8import xmlrpclibusername = 'xkou'password = '****'surl = 'http://blog.csdn.net/xkou/services/metablogapi.aspx'class MtBlog:def __init__(self, username, password, url):self.username = usernameself.password = passwordself.url = urlself.server = xmlrpclib.Server(self.url)def getserver(self):return self.serverdef getCategoryList(self):return self.server.mt.getCategoryList('',self.username, self.password)def getRecentPosts(self, n):return self.server.metaWeblog.getRecentPosts('',self.username, self.password, n)if __name__ == "__main__":blog = MtBlog(username, password, surl)v = blog.getCategoryList()for e in v:print e['categoryId'], e['categoryName']运行, 结果为
其它的功能也可以轻松实现了