2

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

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

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

5 回答 5

7

你的代码看起来很好。

您可能不知道这一点,但大多数 XML-RPC 端点(例如 Last.fm 的)都支持XML-RPC 自省。例如,如果您想找出它公开了哪些方法,请执行以下操作:

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 文档主页所示)方法,您可以这样做:

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

死简单!当然,您需要 Last.fm 的 API 密钥才能使用 API。

于 2009-04-05T01:51:30.963 回答
1

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

于 2009-04-05T00:50:05.197 回答
1

pylast


Python 中的最后一个 fm 库

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

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

功能性

这包括:专辑、艺术家、授权、事件、地理、图书馆、播放列表、标签、品味计评级、用户和场地。

使用这样的库意味着为您完成了很多工作,因此您不必花时间重新发明轮子。(库本身是 3,000 多行代码)。

执照

因为这个库是在许可下发布的,所以可以自己修改代码。

在http://sourceforge.net/tracker/?group_id=66150&atid=513503上还有一个社区致力于突出库中的任何错误

于 2009-04-07T08:35:35.107 回答
0

你可以使用这个:

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

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

于 2009-03-14T19:53:50.907 回答
0

是的,您使用 xmlrpclib 的示例看起来不错。

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

于 2009-03-24T07:58:53.740 回答