網易雲音樂常用API淺析
阿新 • • 發佈:2019-01-30
話不多說
PC客戶端抓包而來
0.說明
關於頭部資訊
Cookie: os=pc; deviceId=B55AC773505E5606F9D355A1A15553CE78B89FC7D8CB8A157B84; osver=Microsoft-Windows-8-Professional-build-9200-64bit; appver=1.5.0.75771; usertrack=ezq0alR0yqJMJC0dr9tEAg==; MUSIC_A=088a57b553bd8cef58487f9d01ae User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.138 Safari/537.36\r\n<div class="crayon-main" style="position: relative; z-index: 1; overflow: hidden;"> <table class="crayon-table"> <tbody><tr class="crayon-row"> <td class="crayon-nums " data-settings="show"> <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-5aa39c0c2ed27407466969-1" style="height: 43px;">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-5aa39c0c2ed27407466969-2" style="height: 29px;">2</div></div> </td> <td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-5aa39c0c2ed27407466969-1">Cookie: os=pc; deviceId=B55AC773505E5606F9D355A1A15553CE78B89FC7D8CB8A157B84; osver=Microsoft-Windows-8-Professional-build-9200-64bit; appver=1.5.0.75771; usertrack=ezq0alR0yqJMJC0dr9tEAg==; MUSIC_A=088a57b553bd8cef58487f9d01ae</div><div class="crayon-line crayon-striped-line" id="crayon-5aa39c0c2ed27407466969-2">User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.138 Safari/537.36\r\n</div></div></td> </tr> </tbody></table> </div> </div>
上面是抓到的資訊,其中必要的只有cookie中的appver。而且如果要呼叫api,必須加上Referer,只要是music.163.com的就可以
Cookie: appver=1.5.0.75771; Referer: http://music.163.com/12 | Cookie: appver=1.5.0.75771;Referer: http://music.163.com/ |
以上兩條即可
返回的格式均為json
1.搜尋
抓取到的資訊如下
Full request URI:http://music.163.com/api/search/pc Key: hlpretag Value: <span class=”s-fc2”> Key: hlposttag Value: </span> Key: s Value: \345\226\234\346\254\242\344\275\240 Key: offset Value: 0 Key: total Value: true Key: limit Value: 100 Key: type Value: 1123456789101112131415 | Full request URI:http://music.163.com/api/search/pcKey: hlpretagValue: <span class=”s-fc2”>Key: hlposttagValue: </span>Key: sValue: \345\226\234\346\254\242\344\275\240Key: offsetValue: 0Key: totalValue: trueKey: limitValue: 100Key: typeValue: 1 |
URL:
POST http://music.163.com/api/search/pc
必要引數:
s:搜尋的內容
offset:偏移量(分頁用)
limit:獲取的數量
type:搜尋的型別
歌曲 1
專輯 10
歌手 100
歌單 1000
使用者 1002
mv 1004
歌詞 1006
主播電臺 1009
2.歌曲資訊
Full request URI: http://music.163.com/api/song/detail/?id=28377211&ids=%5B28377211%5D1 | Full request URI: http://music.163.com/api/song/detail/?id=28377211&ids=%5B28377211%5D |
URL:
GET http://music.163.com/api/song/detail/
必要引數:
id:歌曲ID
ids:不知道幹什麼用的,用[]括起來的歌曲ID
3.歌手專輯
Full request URI: http://music.163.com/api/artist/albums/166009?id=166009&offset=0&total=true&limit=51 | Full request URI: http://music.163.com/api/artist/albums/166009?id=166009&offset=0&total=true&limit=5 |
URL:
GET http://music.163.com/api/artist/albums/歌手ID
必要引數:
limit:獲取的數量(不知道為什麼這個必須加上)
4.專輯資訊
Full request URI: http://music.163.com/api/album/2457012?ext=true&id=2457012&offset=0&total=true&limit=101 | Full request URI: http://music.163.com/api/album/2457012?ext=true&id=2457012&offset=0&total=true&limit=10 |
URL:
GET http://music.163.com/api/album/專輯ID
5.歌單
Full request URI: http://music.163.com/api/playlist/detail?id=37880978&updateTime=-11 | Full request URI: http://music.163.com/api/playlist/detail?id=37880978&updateTime=-1 |
URL:
GET http://music.163.com/api/playlist/detail
必要引數:
id:歌單ID
6.歌詞
Full request URI: http://music.163.com/api/song/lyric?os=pc&id=93920&lv=-1&kv=-1&tv=-11 | Full request URI: http://music.163.com/api/song/lyric?os=pc&id=93920&lv=-1&kv=-1&tv=-1 |
URL:
GET http://music.163.com/api/song/lyric
必要引數:
id:歌曲ID
lv:值為-1,我猜測應該是判斷是否搜尋lyric格式
kv:值為-1,這個值貌似並不影響結果,意義不明
tv:值為-1,是否搜尋tlyric格式
7.MV
Full request URI: http://music.163.com/api/mv/detail?id=319104&type=mp41 | Full request URI: http://music.163.com/api/mv/detail?id=319104&type=mp4 |
URL:
GET http://music.163.com/api/mv/detail
必要引數:
id:mvid
type:值為mp4,視訊格式,不清楚還有沒有別的格式
PHP版使用示例
PHP <?php /** * Created by PhpStorm. * User: Moon * Date: 2014/11/26 0026 * Time: 2:06 */ function curl_get(