获取最近收听歌曲的Last.fm艺术家形象的简单方法?

时间:2010-05-31 21:08:28

标签: php parsing last.fm

在Last.fm网站上,您最近收听的曲目包括每首歌曲左侧的34x34(或任何大小)图像。但是,在他们提供的RSS源中,没有为歌曲提供图像URL。我想知道是否有一种很好的方法来确定需要用于该艺术家的图像的ID,并根据我们给出的数据显示它。我知道可以从他们的网站加载艺术家页面,然后从JavaScript中获取图像值,但这看起来过于复杂,可能需要相当长的时间才能完成。

我们得到了什么:

<item>
   <title>Owl City – Rainbow Veins</title>
   <link>http://www.last.fm/music/Owl+City/_/Rainbow+Veins</link>
   <pubDate>Thu, 20 May 2010 18:15:29 +0000</pubDate>
   <guid>http://www.last.fm/user/animuson#1274379329</guid>
   <description>http://www.last.fm/music/Owl+City</description>
</item>

此歌曲的34x34图片为here(ID#37056785)。

Owl+City http://userserve-ak.last.fm/serve/34s/37056785.png

有这样的事吗?我曾经考虑过一次检查后将ID号存储在某种缓存中,但如果图像发生变化会怎么样?

1 个答案:

答案 0 :(得分:2)

经过一番搜索后我找到了它(感谢Thomas McDonald)。我找到了一个user.getRecentTracks方法,其中包含信息中的图片网址,还使用了XML,这对我来说更有帮助。

您使用此方法获得的结果:

<track> 
    <artist mbid="">Owl City</artist>
    <name>Rainbow Veins</name>
    <streamable>1</streamable>
    <mbid></mbid>
    <album mbid="f3e4acfb-6e99-4370-9f72-48dbd99d5206">Maybe I'm Dreaming</album>
    <url>http://www.last.fm/music/Owl+City/_/Rainbow+Veins</url>
    <image size="small">http://userserve-ak.last.fm/serve/34s/22743543.jpg</image>
    <image size="medium">http://userserve-ak.last.fm/serve/64s/22743543.jpg</image>
    <image size="large">http://userserve-ak.last.fm/serve/126/22743543.jpg</image>
    <image size="extralarge">http://userserve-ak.last.fm/serve/300x300/22743543.jpg</image>
    <date uts="1274379329">20 May 2010, 18:15</date>
</track>

正如您所看到的,比基本的最新跟踪RSS提要更多的信息,您不必运行多个加载来获取其他信息,只需要单个XML加载来获取提要。