1. 程式人生 > >百度音樂API抓取

百度音樂API抓取

vim 後來 ews new ble -a getch 電臺 威爾

百度音樂API抓取

前段時間做了一個本地音樂的播放器 github地址,想實現在線播放的功能,於是到處尋找API,很遺憾,不是歌曲不全就是質量不高。在網上發現這麽一個APIMRASONG博客,有“獲取榜單,搜索歌詞,下載地址,專輯”信息等等接口。

後來發現有些接口使用起來不是很方便,比如獲取專輯信息,只能得到歌曲列表的id信息,所以自己決定用fiddler來對百度音樂安卓客戶端抓包。

下面是一系列的接口:

一. 關鍵詞建議:

GET:

 http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.0&method=baidu.ting.search.catalogSug&format=json&query=%E4%B8%83%E9%87%8C%E9%A6%99

參數:

version   5.6.5.0    //版本
query   七裏香//關鍵字
method  baidu.ting.search.catalogSug//method
fromandroid    //平臺
formatjson   //format格式

返回:

{
  "song": [
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "周傑倫",
  "control": "0000000000",
  "songid": "15702101",
  "has_mv": "1",
  "encrypted_songid": "0806ef98550855dddac0"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香(live版)",
  "artistname": "周傑倫",
  "control": "0000000000",
  "songid": "18638327",
  "has_mv": "0",
  "encrypted_songid": "920711c65f70855e5be03"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "周玥178",
  "control": "0000000000",
  "songid": "121794230",
  "has_mv": "0",
  "encrypted_songid": ""
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "劉芳",
  "control": "0000000000",
  "songid": "2077664",
  "has_mv": "0",
  "encrypted_songid": "50061fb3e00854ce60db"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "網絡歌手",
  "control": "0000000000",
  "songid": "28216714",
  "has_mv": "0",
  "encrypted_songid": "31071ae8d8a0854cc129e"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香(Live)",
  "artistname": "周傑倫",
  "control": "0000000000",
  "songid": "51981196",
  "has_mv": "0",
  "encrypted_songid": "58073192b8c0855ddd8da"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "汪東城",
  "control": "0000000000",
  "songid": "84961907",
  "has_mv": "0",
  "encrypted_songid": "08075106a730854cdd805"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "施艾敏",
  "control": "0000000000",
  "songid": "17565909",
  "has_mv": "0",
  "encrypted_songid": "420710c08d508559df21f"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "蘇仨",
  "control": "0000000000",
  "songid": "84957626",
  "has_mv": "0",
  "encrypted_songid": "830751059ba08559df358"
},
{
  "bitrate_fee": "{\"0\":\"0|0\",\"1\":\"0|0\"}",
  "yyr_artist": "0",
  "songname": "七裏香",
  "artistname": "陳淑樺",
  "control": "0000000000",
  "songid": "208828",
  "has_mv": "0",
  "encrypted_songid": "370532fbc0855e3ed63"
}
  ],
  "order": "song,album",
  "error_code": 22000,
  "album": [
    {
  "albumname": "七裏香",
  "artistpic": "http:\/\/musicdata.baidu.com\/data2\/pic\/115430839\/115430839.jpg",
  "albumid": "67909",
  "artistname": "周傑倫"
},
{
  "albumname": "七裏香(臺灣正式版)",
  "artistpic": "http:\/\/a.hiphotos.baidu.com\/ting\/pic\/item\/3b292df5e0fe9925ff46084536a85edf8db17158.jpg",
  "albumid": "183906",
  "artistname": "周傑倫 "
}
  ]
}

二. 關鍵字搜索(包括歌曲,專輯,歌手,伴奏)

GET:

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.0&method=baidu.ting.search.merge&format=json&query=%E4%B8%83%E9%87%8C%E9%A6%99&page_no=1&page_size=50&type=-1&data_source=0&use_cluster=1 

參數:(下面應該很容易懂,就不具體解釋了)

version     5.6.5.0
method   baidu.ting.search.merge
format   json
query    七裏香
page_no  1
page_size 50
type        -1
data_source  0
use_cluster  1

返回值:

{
"error_code": 22000,
"result": {
    "query": "七裏香",
    "syn_words": "",
    "rqt_type": 1,
    "song_info": {
        "total": 69,
        "song_list": [
            {
                "content": "",
                "copy_type": "1",
                "toneid": "0",
                "info": "",
                "all_rate": "320,128,flac,256,192,64,24",
                "resource_type": 2,
                "relate_status": 0,
                "has_mv_mobile": 1,
                "song_id": "18401298",
                "title": "七裏香",
                "ting_uid": "7994",
                "author": "周傑倫",
                "album_id": "18394691",
                "album_title": "第五屆百事音樂風雲榜",
                "is_first_publish": 0,
                "havehigh": 2,
                "charge": 0,
                "has_mv": 0,
                "learn": 0,
                "song_source": "web",
                "piao_id": "0",
                "korean_bb_song": "0",
                "resource_type_ext": "0",
                "artist_id": "29",
                "all_artist_id": "29",
                "lrclink": "http://musicdata.baidu.com/data2/lrc/65094964/%E4%B8%83%E9%87%8C%E9%A6%99.lrc",
                "data_source": 0,
                "cluster_id": 93119037
            },
            {
                "content": "",
                "copy_type": "1",
                "toneid": "600902000006889283",
                "info": "",
                "all_rate": "128,64,256,192,320,flac,24",
                "resource_type": 2,
                "relate_status": 0,
                "has_mv_mobile": 1,
                "song_id": "290466",
                "title": "止戰之殤.",
                "ting_uid": "7994",
                "author": "周傑倫",
                "album_id": "67909",
                "album_title": "",
                "is_first_publish": 0,
                "havehigh": 2,
                "charge": 0,
                "has_mv": 1,
                "learn": 1,
                "song_source": "web",
                "piao_id": "0",
                "korean_bb_song": "0",
                "resource_type_ext": "0",
                "artist_id": "29",
                "all_artist_id": "29",
                "lrclink": "http://musicdata.baidu.com/data2/lrc/13881596/%E6%AD%A2%E6%88%98%E4%B9%8B%E6%AE%87..lrc",
                "data_source": 0,
                "cluster_id": 93304629
            },
          ......
        ]
    },
    "album_info": {
        "total": 2,
        "album_list": [
            {
                "album_id": "67909",
                "author": "周傑倫",
                "hot": 22412,
                "title": "<em>七裏香</em>",
                "artist_id": "29",
                "all_artist_id": "29",
                "company": "傑威爾JVR音樂有限公司",
                "publishtime": "2004-08-03",
                "album_desc": "周傑倫的新專輯在8月3日正式發行,這次引用了詩人席幕蓉名詩《<em>七裏香</em>》作為新專輯名稱,周傑倫以往每一次的專輯名稱都給了歌迷許多想象空間,也給了大家許多驚嘆號。這次也許並不令人驚喜。但是周傑倫自有說法:“...",
                "pic_small": "http://musicdata.baidu.com/data2/pic/115430825/115430825.jpg"
            },
            {
                "album_id": "183906",
                "author": "周傑倫 ",
                "hot": 10799,
                "title": "<em>七裏香</em>(臺灣正式版)",
                "artist_id": "29",
                "all_artist_id": "29",
                "company": "傑威爾JVR音樂有限公司",
                "publishtime": "2004-08-03",
                "album_desc": "周傑倫的新專輯在8月3日正式發行,這次引用了詩人席幕蓉名詩《<em>七裏香</em>》作為新專輯名稱,周傑倫以往每一次的專輯名稱都給了歌迷許多想象空間,也給了大家許多驚嘆號。這次也許並不令人驚喜。但是周傑倫自有說法:“...",
                "pic_small": "http://c.hiphotos.baidu.com/ting/pic/item/b8389b504fc2d562b542b1f8e51190ef76c66c58.jpg"
            }
        ]
    }
}

}

三. 獲取專輯詳情:

GET

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.0&method=baidu.ting.album.getAlbumInfo&format=json&album_id=67909

參數:

from  android
version   5.6.5.0
method    baidu.ting.album.getAlbumInfo
format    json
album_id  67909

返回:

{
"albumInfo": {
    "album_id": "67909",
    "author": "周傑倫",
    "title": "七裏香",
    "publishcompany": "傑威爾JVR音樂有限公司",
    "prodcompany": "",
    "country": "港臺",
    "language": "國語",
    "songs_total": "9",
    "info": "周傑倫的新專輯在8月3日正式發行,這次引用了詩人席幕蓉名詩《七裏香》作為新專輯名稱,周傑倫以往每一次的專輯名稱都給了歌迷許多想象空間,也給了大家許多驚嘆號。這次也許並不令人驚喜。但是周傑倫自有說法:“之所以要把新專輯定名為《七裏香》,是因為對這一次專輯的音樂充滿自信,希望大家能把註意力焦點放在音樂上,將話題回歸到音樂上。 這張《七裏香》仍是周傑倫與最佳拍檔方文山合作的作品。在炎熱的夏天聽《七裏香》,有一種如沐清風的涼爽",
    "styles": "流行",
    "style_id": "3",
    "publishtime": "2004-08-03",
    "artist_ting_uid": "7994",
    "all_artist_ting_uid": null,
    "gender": "0",
    "area": "1",
    "pic_small": "http://musicdata.baidu.com/data2/pic/115430825/115430825.jpg",
    "pic_big": "http://musicdata.baidu.com/data2/pic/115430815/115430815.jpg",
    "hot": "",
    "favorites_num": null,
    "recommend_num": null,
    "artist_id": "29",
    "all_artist_id": "29",
    "pic_radio": "http://musicdata.baidu.com/data2/pic/115430799/115430799.jpg",
    "pic_s500": "http://musicdata.baidu.com/data2/pic/115430794/115430794.jpg",
    "pic_s1000": "http://musicdata.baidu.com/data2/pic/115430787/115430787.jpg"
},
"songlist": [
    {
        "artist_id": "29",
        "all_artist_id": "29",
        "all_artist_ting_uid": "7994",
        "language": "國語",
        "publishtime": "2004-08-03",
        "album_no": "0",
        "versions": "",
        "pic_big": "http://musicdata.baidu.com/data2/pic/115430815/115430815.jpg",
        "pic_small": "http://musicdata.baidu.com/data2/pic/115430825/115430825.jpg",
        "hot": "1020",
        "file_duration": "261",
        "del_status": "0",
        "resource_type": "2",
        "copy_type": "1",
        "has_mv_mobile": 0,
        "all_rate": "320,128,256,64,flac,24,192",
        "toneid": "600902000006889316",
        "country": "其他",
        "area": "4",
        "lrclink": "http://musicdata.baidu.com/data2/lrc/34239973/%E5%80%9F%E5%8F%A3..lrc",
        "song_id": "23744596",
        "title": "借口.",
        "ting_uid": "7994",
        "author": "周傑倫",
        "album_id": "67909",
        "album_title": "",
        "is_first_publish": 0,
        "havehigh": 2,
        "charge": 0,
        "has_mv": 1,
        "learn": 1,
        "song_source": "web",
        "piao_id": "0",
        "korean_bb_song": "0",
        "resource_type_ext": "0"
    },
    {
        "artist_id": "29",
        "all_artist_id": "29",
        "all_artist_ting_uid": "7994",
        "language": "國語",
        "publishtime": "2004-08-03",
        "album_no": "1",
        "versions": "",
        "pic_big": "http://musicdata.baidu.com/data2/pic/115430815/115430815.jpg",
        "pic_small": "http://musicdata.baidu.com/data2/pic/115430825/115430825.jpg",
        "hot": "3005",
        "file_duration": "246",
        "del_status": "0",
        "resource_type": "2",
        "copy_type": "1",
        "has_mv_mobile": 1,
        "all_rate": "64,320,128,flac,256,192,24",
        "toneid": "600902000006889292",
        "country": "其他",
        "area": "4",
        "lrclink": "http://musicdata.baidu.com/data2/lrc/13859215/%E6%88%91%E7%9A%84%E5%9C%B0%E7%9B%98-.lrc",
        "song_id": "271627",
        "title": "我的地盤-",
        "ting_uid": "7994",
        "author": "周傑倫",
        "album_id": "67909",
        "album_title": "",
        "is_first_publish": 0,
        "havehigh": 2,
        "charge": 0,
        "has_mv": 1,
        "learn": 1,
        "song_source": "web",
        "piao_id": "0",
        "korean_bb_song": "0",
        "resource_type_ext": "0"
    },
    ......
]

}

下面的只發簡要說明:

1). 獲取歌曲列表:

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.0&method=baidu.ting.artist.getSongList&format=json&order=2&tinguid=7994&artistid=7994&offset=0&limits=50

2). 獲取專輯列表:

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.0&method=baidu.ting.artist.getAlbumList&format=json&order=1&tinguid=7994&offset=0&limits=30

3). 獲取歌手信息:

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.0&method=baidu.ting.artist.getinfo&format=json&tinguid=7994&artistid=7994

4). 獲取歌詞以及圖片:

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.0&method=baidu.ting.search.lrcpic&format=json&query=Apollo%27s%2BTriumph%2B%28Paul%2BDinletir%2BRemix%29$$Audio%2BMachine&ts=1444316027469&e=6Wwvzqnijq08Nrv0qI%2BN3Thp9GuKdV82ZxAS3UrvifMc%2FoVWLyZ8dSolFUF5r4W3SB2tm4z5TWT95sihhOG7qeqvjhThJWnh6h745kRGSTI%3D&type=2

1)搜索建議
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.search.catalogSug&format=json&query=%E5%B0%8F%E8%8B%B9%E6%9E%9C
搜索建議:只有歌名
http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.search.suggestion&query=%E5%B0%8F%E8%8B%B9%E6%9E%9C&format=json&from=ios&version=2.1.1
2)搜索結果
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.search.common&format=json&query=%E5%B0%8F%E8%8B%B9%E6%9E%9C&page_no=1&page_size=30
3)
 http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.getList&format=json?=1&offset=0&limit=5
 4)新歌榜
 http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=1&offset=0&size=50
 5)熱歌榜
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=2&offset=0&size=50  註意這個和上邊的區別,type=1
 6)Billboard
 http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=8&offset=0&size=507)Hito中文榜
7)Hito中文榜
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=18&offset=0&size=50
8)KTV熱歌榜
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=6&offset=0&size=50
9)電臺列表
 http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.radio.getCategoryList&format=json
 10)獲取某個電臺下的歌曲列表
 http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.radio.getChannelSong&format=json&pn=0&rn=10&channelname=public_tuijian_ktv
 11)獲取songid的歌曲信息
  http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.song.getInfos&format=json&songid=8059247&ts=1408284347323&e=JoN56kTXnnbEpd9MVczkYJCSx%2FE1mkLx%2BPMIkTcOEu4%3D&nw=2&ucf=1&res=1 
  12)獲取登陸用戶的喜愛歌曲列表,其中bduss參數用來標示唯一的用戶
  http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.favorite.getFavoriteSong&format=json&pn=0&rn=50&bduss=UlXZ1dWbm9icDBrMm13aFcwZ282ejlTM1dyS1NEd2JPWXpQcDgyT0w0Vn5SUmhVQVFBQUFBJCQAAAAAAAAAAAEAAAB0L~cOeHl3MDQzNzM1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH-48FN~uPBTd
  13)歌手列表
  http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.get72HotArtist&format=json?=1&offset=0&limit=50
  14)歌手簡介,tinguid為歌手id
  http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.getinfo&format=json&tinguid=7994
  15)歌手歌曲列表,tinguid為歌手id
  http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.getSongList&format=json?=2&tinguid=7994&offset=0&limits=50
16)新碟上架
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.plaza.getRecommendAlbum&format=json&offset=0&limit=50
17)專輯信息
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.album.getAlbumInfo&format=json&album_id=122314357
18)新歌速遞
http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.plaza.getNewSongs&format=json&limit=50

百度音樂API抓取