是否有任何好的Python教程/指南将XML-RPC与Last.fm API一起使用?

时间:2009-03-14 19:43:00

标签: python web-services xml-rpc

我是XML-RPC的新手,我想知道是否有任何好的教程可以将XML-RPC与Last.fm API一起使用。

是否可以使用xmlrpclib模块调用API方法,如下例所示?

import xmlrpclib
myserver = xmlrpclib.ServerProxy('http://ws.audioscrobbler.com/2.0/')

5 个答案:

答案 0 :(得分:7)

您的代码看起来很好。

您可能不知道这一点,但大多数XML-RPC端点(例如Last.fm)支持XML-RPC introspection。例如,如果您想了解它暴露的方法,请执行以下操作:

import xmlrpclib
svc = xmlrpclib.ServerProxy('http://ws.audioscrobbler.com/2.0/')
print svc.system.listMethods()

您将获得XML-RPC端点公开的方法列表。

顺便说一下,那里的那段代码演示了如何使用ServerProxy对象来调用它所绑定的端点所暴露的方法,在本例中是system.listMethods方法。如果你想调用Last.fm公开的user.getTopTags(如API documentation homepage)方法所示,你可以这样做:

print svc.user.getTopTags({'user': 'foo', 'api_key': 'bar'})

死简单!当然,在使用API​​之前,您需要Last.fm中的API密钥。

答案 1 :(得分:1)

现在不是在last.fm的api上工作的好时机。我想他们会在几天内改变它。

答案 2 :(得分:1)

pylast


Python中的最后一个fm库

pylast library是这项工作的不错选择。

该库具有非常多的功能,涵盖last.fm API的所有主要部分。

功能

这包括:专辑,艺术家,身份验证,活动,地理位置,图书馆,播放列表,标签,Tasteometer评级,用户和场地。

使用这样的库意味着很多工作都是为你完成的,所以你不要花时间重新发明轮子。 (该库自己有超过3,000行代码)。

许可证

由于此库发布的许可证,可以自行修改代码。

还有一个社区的人们在http://sourceforge.net/tracker/?group_id=66150&atid=513503

高亮显示图书馆中的任何错误

答案 3 :(得分:0)

您可以使用:

http://pypi.python.org/pypi/pylast/0.3.1

或者如果你自己做,你可以检查代码......

答案 4 :(得分:0)

是的,您使用xmlrpclib的示例看起来很好。

Pylast可能不是最好的初学者例子。从Python开始,我认为最简单的选择是使用你提到的XML-RPC,或者REST API使用JSON响应格式和simplejson来解码输出。