虾米网XML音乐信息接口

这个接口在几年前就被各种利用过了, 过去破解虾米音乐真实地址的人们基本都写过关于这个接口的文章,不过既然今天又被我发现了一次, 还是记录一下吧. 在此感谢要变叔的小鸦所提供的信息.

这个接口的很简单, 格式如下:

http://www.xiami.com/song/playlist/id/sid

URL的后面其实还有几个参数, 不过返回的结果好像都是一样的, 所以干脆就只写前面的.

以sid为1769402975的樱之雨为例, 返回的是一段XML:

<?xml version="1.0" encoding="utf-8"?>  
<playlist version="1" xmlns="http://xspf.org/ns/0/">  
<trackList>  
<track>  
<title><![CDATA[桜ノ雨]]></title>  
<song_id>1769402975</song_id>  
<album_id>371190</album_id>  
<album_name><![CDATA[桜ノ雨 ]]></album_name>  
<object_id>1</object_id>  
<object_name>default</object_name>  
<insert_type>1</insert_type>  
<background>http://img.xiami.com/res/player/bimg/bg-5.jpg</background>  
<grade>1</grade>  
<artist><![CDATA[absorb;初音ミク]]></artist>  
<location>9hFlc5%1774t%eoE5965_t2.m%E%9_lpFx%2%541.%mi2F2E%1m31aF6F%52pA.m7132E43%fi577F282i.%51194</location>  
<ms></ms>  
<lyric>http://img.xiami.com/lyric/upload/75/1769402975_1308317265.lrc</lyric>  
<pic>http://img.xiami.com/images/album/img50/61750/3711901268107218_1.jpg</pic>  
<length>401</length>  
<tryhq>0</tryhq>  
<artist_id>61750</artist_id>  
</track>  
</trackList>  
<uid>*</uid>  
<type>default</type>  
<type_id>1</type_id>  
<clearlist></clearlist>  
<vip>1</vip>  
<hqset>1</hqset>  
</playlist>  

这里提供的信息很明显, title、song id、album id、album name、artist、lyric、pic、artist id这些是比较有用的信息, 不过这个接口比较旧了, 这种简单的数据结构还用XML来存储, 如果是JSON会更方便调用一些.

你可能发现我没有提到location这里的字段, 因为这个location虽然会动态变化, 但最后解开得到的都是同一个m1.file.xiami.com域名的低音质文件, 所以获取高音质还是得利用http://www.xiami.com/song/gethqsong/sid/sid这个接口.

除了这些, 对于登录用户, 下方会有一个uid字段(上方的xml中被我改成*了), 如果你是vip, 则vip字段的值会是1, 如果开启高音质, 则hqset会变成1, 反之为0.

虾米应该还存在一个专辑的高清封面接口, 因为Xiami for Mac明确表示会提供支持Retina显示屏的封面, 不过这个接口就留给装了OSX的朋友自己抓包吧.