­

百度音樂api介面

  • 2019 年 11 月 24 日
  • 筆記

最近正在研究百度音樂的API,上網搜了下,不外乎就是直接抓網頁或者是已經用爛的的widget的API:

http://box.zhangmen.baidu.com/x?op=12&count=1&title=大約在冬季$$齊秦$$$$ 

這東東輸出的是一堆xml,而且結果也就那麼四五條,覺得不實用,所以我打算研究下別的

用fiddler2抓了下網頁版的百度音樂盒。。尼瑪一堆的gif,css,js什麼的,找不到什麼有價值的url

後來我下了百度音樂電腦版的客戶端,搜索一下音樂。。結果發現搜索介面也特么是html。。。不爽ing

想了許久,我看著桌上的手機,靈機一動~~誒,抓百度音樂的手機版會不會更方便些呢,手機為了省流量的話發出去的請求應該會少很多,也比較好找

說干就干,於是我下了百度音樂的Android客戶端,然後連接WiFi,把電腦的ip設成代理伺服器,於是fiddler2上便出現了手機發出的http請求

果然,收穫還是大大滴~~~

其實就是一個網址:

http://tingapi.ting.baidu.com/v1/restserver/ting

它全部都是用get請求實現的,後面加不同參數可以實現不同的功能,下面把我抓到的一一介紹(僅供學習交流,請勿用於商業用途):

1.根據關鍵詞返回接近的結果

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=4.9.2.0&method=baidu.ting.search.catalogSug&format=json&query=小蘋果

然後它會給你個json出來,query參數的值不同他的結果不同,有這個songid你就可以在百度音樂找到地址啦

    {      "song": [          {              "songid": "120125029",              "songname": "小蘋果",              "artistname": "筷子兄弟"          },          {              "songid": "121098102",              "songname": "小蘋果",              "artistname": "迴音哥"          },          {              "songid": "85762160",              "songname": "小蘋果 - 每當唱起這首歌",              "artistname": "王媛媛"          },          {              "songid": "67368864",              "songname": "小蘋果",              "artistname": "鈴聲"          },          {              "songid": "85762158",              "songname": "小蘋果 手風琴曲",              "artistname": "佚名"          },          {              "songid": "85713017",              "songname": "小蘋果樹請醫生",              "artistname": "兒童故事"          },             {              "songid": "35408612",              "songname": "小蘋果樹請醫生",              "artistname": "佚名"          }      ],      "artist": [],      "album": [],      "order": "song",      "error_code": 22000  }

2.根據歌曲名和歌手名搜索歌曲

http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=4.9.2.0&method=baidu.ting.search.merge&format=json&query=小蘋果-筷子兄弟

同樣會有個json,而且裡面有歌詞的鏈接哦:

{  "error_code": 22000,  "result": {      "query": "小蘋果-筷子兄弟",      "syn_words": "",      "rqt_type": 1,      "song_info": {          "total": 1,          "song_list": [              {                  "content": "",                  "copy_type": "1",                  "toneid": "0",                  "info": "電影《老男孩之猛龍過江》2014插曲",                  "all_rate": "64,128,192,256,320,flac",                  "resource_type": 0,                  "relate_status": 0,                  "has_mv_mobile": 1,                  "song_id": "120125029",                  "title": "小蘋果",                  "ting_uid": "9295",                  "author": "筷子兄弟",                  "album_id": "121556956",                  "album_title": "老男孩之猛龍過江 電影原聲",                  "is_first_publish": 0,                  "havehigh": 2,                  "charge": 0,                  "has_mv": 1,                  "learn": 1,                  "song_source": "",                  "piao_id": "0",                  "korean_bb_song": "",                  "resource_type_ext": "",                  "artist_id": "57520",                  "all_artist_id": "57520",                  "lrclink": "http://musicdata.baidu.com/data2/lrc/121017633/%E5%B0%8F%E8%8B%B9%E6%9E%9C.lrc",                  "data_source": 0,                  "cluster_id": 0              }          ]      }  }  }

3.通過id獲取地址歌詞和圖片

這個不是客戶端抓的。。似乎那個API關於歌詞圖片下載地址的介面得參數都有加密

http://ting.baidu.com/data/music/links?songIds=120125029

還是json:

{  "errorCode": 22000,  "data": {      "xcode": "963cc26c0c0fdd6cb639b3d1b2fa946c",      "songList": [          {              "queryId": "120125029",              "songId": 120125029,              "songName": "小蘋果",              "artistId": "9295",              "artistName": "筷子兄弟",              "albumId": 121556956,              "albumName": "老男孩之猛龍過江 電影原聲",              "songPicSmall": "http://a.hiphotos.baidu.com/ting/pic/item/32fa828ba61ea8d3a59619cd950a304e241f5846.jpg",              "songPicBig": "http://b.hiphotos.baidu.com/ting/pic/item/dc54564e9258d109f857c47bd358ccbf6d814d46.jpg",              "songPicRadio": "http://c.hiphotos.baidu.com/ting/pic/item/e4dde71190ef76c6966696e29f16fdfaae516746.jpg",              "lrcLink": "/data2/lrc/121017633/121017633.lrc",              "version": "",              "copyType": 1,              "time": 211,              "linkCode": 22000,              "songLink": "http://zhangmenshiting.baidu.com/data2/music/121859589/1201250291407038461.mp3?xcode=963cc26c0c0fdd6cd95227c58110eada88aca43f4cfb1c02",              "showLink": "http://zhangmenshiting.baidu.com/data2/music/121859589/1201250291407038461.mp3?xcode=963cc26c0c0fdd6cd95227c58110eada88aca43f4cfb1c02",              "format": "mp3",              "rate": 128,              "size": 3394555,              "relateStatus": "0",              "resourceType": "0"          }      ]  }  }

目前能用的就是這麼多,應該可以弄一個微信點歌了^_^ ,等我把百度音樂的加密搞出來的話我會繼續更新的~~~

希望這些東西對那些想做在線音樂的朋友們有幫助吧