Drkcore

05 02 2009 lisp Tweet

Common Lispのhttp client

aserveのクライアントを使ってlast.fmの自分のベストトラックのXMLをとってくる。

Common Lisp と 日本語 と 文字コードによるとバイナリでゲットしてエンコードすべしとのことだったのでそうした。

(asdf:oos 'asdf:load-op 'aserve)
(setq result (net.aserve.client:do-http-request 
    "http://ws.audioscrobbler.com/2.0/user/kzfm/toptracks.xml"
    :format :binary))
(sb-ext:octets-to-string result :external-format :utf8)

結果。

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<toptracks user=\"kzfm\" type=\"overall\">

<track rank=\"1\">
    <name>Imaginary Folklore</name>
    <playcount>169</playcount>
    <mbid></mbid>
    <url>http://www.last.fm/music/Clammbon+By+Nujabes/_/Imaginary+Folklore</url>
    <streamable fulltrack=\"0\">0</streamable>
        <artist>
        <name>Clammbon By Nujabes</name>
        <mbid></mbid>
        <url>http://www.last.fm/music/Clammbon+By+Nujabes</url>
    </artist>
        </track>
<track rank=\"2\">
    <name>アンパンマンのマーチ</name>
    <playcount>77</playcount>

こんな感じで、割と簡単にできた。あとはパースすればよいですな。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021