Die Response des Webservice sieht bspw. so aus.
<topartists user="sa303" type="overall">
  <artist>
    <name>Ellen Allien</name>
    <mbid>2ff63f00-0954-4b14-9007-e19b822fc8b2</mbid>
    <playcount>246</playcount>
    <rank>1</rank>
    <url>http://www.last.fm/music/Ellen+Allien</url>
    <thumbnail>
      http://userserve-ak.last.fm/serve/50/16045.jpg
    </thumbnail>
    <image>
       http://userserve-ak.last.fm/serve/160/16045.jpg
    </image>
  </artist>
  <artist>
    <name>Ein anderer Musiker</name>
    <mbid>2ff63f00-0954-4b14-9007-e19b822fc8b2</mbid>
    <playcount>246</playcount>
    <rank>1</rank>
    <url>http://www.last.fm/music/Ellen+Allien</url>
    <thumbnail>
       http://userserve-ak.last.fm/serve/50/16045.jpg
    </thumbnail>
    <image>
      http://userserve-ak.last.fm/serve/160/16045.jpg
    </image>
  </artist>
</topartists>
Der nachfolgende Groovy Code "parst" die Response und verarbeitet diese mittels dem Groovy XmlSlurper.
import java.net.URL;
def target = 'http://ws.audioscrobbler.com/1.0/user/sa303/topartists.xml'
def stream = new URL(target).openStream();
def topartists  = new XmlSlurper().parse(stream)
topartists.artist.each{
   println "${it.rank} - ${it.name} (${it.playcount} mal gehört)"
}
Und schon ist die Top 100 meiner Lieblings Musiker auf der Console ersichtlich. Und die Implementation der Sache kostete mich gerade mal 3 Minuten :). Das ist Groovy.
 
No comments:
Post a Comment