csdnblog 提供了远程过程调用接口metablogapi 我们可以使用python 做一些相关的操作, 如发表文章,删除文章,等等
下面以csdnblog为例, 来说明一下, 如何获取分类列表;
csdn blog的接口地址是 http://blog.youkuaiyun.com/xkou
/services/metablogapi.aspx, 把中间xkou的
换成你的用户名就可以
调用rpc使用python 自带 xmlrpclib,各用可用的接口可以参考 http://blog.youkuaiyun.com/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
array of struct MtCategory
由此可见 getCategoryList 需要三个参数, blogid, username,和 passowrd, 类型为 stringl, 所以我们可以这样调用
metaWeblog.getRecentPosts('',self.username, self.password, n)
返回值为一个结构
struct MtCategory
Members
string categoryId string categoryName boolean isPrimary (optional)
下面是代码 ,
import xmlrpclib
username = 'xkou'
password = '****'
surl = 'http: //blog.youkuaiyun.com/xkou/services/metablogapi.aspx'
class MtBlog:
def __init__(self, username, password, url):
self.username = username
self.password = password
self.url = url
self.server = xmlrpclib.Server(self.url)
def getserver(self):
return self.server
def 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']
运行, 结果为
![]()
其它的功能也可以轻松实现了