网易博客API之研究1

为了备份博客内容,本人开始研究网易博客的API。有关这方面的资料很少,开始以为没有API,后来偶然之间发现网易博客还是有API的。
 

网易博客支持MetaWeblog API, 所谓网络服务AP俱为webservice也。

据研究,MetaWeblog API是xml-rpc风格的webservice.
网易博客api地址是os.blog.163.com/api/xmlrpc/metaweblog/
MetaWeblog 有以下调用方法:
1>metaWeblog.newPost (blogid, username, password, struct, publish) 返回一个字符串,可能是Blog的ID。
2>metaWeblog.editPost (postid, username, password, struct, publish) 返回一个Boolean值,代表是否修改成功。
3>metaWeblog.getPost (postid, username, password) 返回一个Struct。
其中blogid、username、password分别代表Blog的id(注释:如果你有两个Blog,blogid指定你需要编辑的blog)、用户名和密码。
 
4>metaWeblog.newMediaObject (blogid, username, password, struct) 返回一个数组
其中blogid、username、password分别代表Blog的id(注释:如果你有两个Blog,blogid指定你需要编辑的blog)、用户名和密码。struct必须包含name, type 和bits三个元素,当然也可以包含其他元素。
name代表数据的名称,type是数据的MIME类型,譬如audio/mpeg 、image/jpeg和video/quicktime。bits是数据的base64编码形式的数据流。
如果调用失败,它显示错误信息。如果调用成功,返回值是一个Struct,里面至少包含一个Url元素,代表数据的HTTP或者FTP Url。
 
5>metaWeblog.getCategories(blogid, username, password) 返回一个struct。
返回值包含所有的Blog的类别,每一个列别包含description, htmlUrl and rssUrl。
6>metaWeblog.getRecentPosts(blogid, username, password, numberOfPosts) 返回一个结构(struct)的数组(array)。
每一个Struct包含getPost返回值一样的结构。
numberOfPosts是返回的数量。
 
先从getRecentPosts开始blogid设为空,numberOfPosts设为10,调用-》没问题,OK
numberOfPosts设为50,调用-》没问题,OK
numberOfPosts设为100,调用-》失败
numberOfPosts设为51,调用-》失败
说明网易API最多返回50条博客记录,不地道。本人博客已经超过这个数,这可怎么办啊。
难道真要分析HTML,哦,这个工作量有点大
原文地址:https://www.cnblogs.com/ybbqg/p/2405562.html