私はXML-RPCを初めて使用しますが、Last.fmAPIでXML-RPCを使用するための優れたチュートリアルがあるかどうかを知りたいです。
次の例のように、xmlrpclibモジュールを使用してAPIメソッドを呼び出すことは可能ですか?
import xmlrpclib
myserver = xmlrpclib.ServerProxy('http://ws.audioscrobbler.com/2.0/')
私はXML-RPCを初めて使用しますが、Last.fmAPIでXML-RPCを使用するための優れたチュートリアルがあるかどうかを知りたいです。
次の例のように、xmlrpclibモジュールを使用してAPIメソッドを呼び出すことは可能ですか?
import xmlrpclib
myserver = xmlrpclib.ServerProxy('http://ws.audioscrobbler.com/2.0/')
あなたのコードは問題なく見えます。
ご存じないかもしれませんが、ほとんどの 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 によって公開されている ( API ドキュメントuser.getTopTags
のホームページ に示されているように) メソッドを呼び出したい場合は、次のようにします。
print svc.user.getTopTags({'user': 'foo', 'api_key': 'bar'})
シンプルに!もちろん、API を使用するには、Last.fm からの API キーが必要です。
今はlast.fmのAPIに取り組むのに良い時期ではありません。彼らは数日でそれを変えていると思います。
pylast ライブラリは、この作業に適しています。
このライブラリには、 last.fm APIのすべての主要部分をカバーする非常に大きな機能セットがあります。
これには、アルバム、アーティスト、Auth、イベント、ジオ、ライブラリ、プレイリスト、タグ、Tasteometer 評価、ユーザー、会場が含まれます。
このようなライブラリを使用すると、多くの作業が自動的に行われるため、車輪の再発明に時間を費やす必要がなくなります。(ライブラリ自体は 3,000 行以上のコードです)。
このライブラリはライセンスの下でリリースされているため、コードを自分で変更することができます。
http://sourceforge.net/tracker/?group_id=66150&aid=513503には、ライブラリのバグを強調するために活動している人々のコミュニティもあります。
はい、xmlrpclib の使用例は問題ないようです。
Pylast はおそらく最良の初心者の例ではありません。Python からは、あなたが言及したように XML-RPC を使用するか、JSON 応答形式とsimplejsonを使用して出力をデコードするREST APIを使用するのが最も簡単なオプションだと思います。