在線音樂播放器-----酷狗音樂api接口抓取


首先身為一個在線音樂播放器,需要前端和數據庫的搭配使用。

在數據庫方面,我們沒有辦法制作,首先是版權問題,再加上數據量。所以我們需要借用其他網絡播放器的數據庫。

但是這些在線播放器,如百度,酷狗,酷我等在線音樂播放器,是不會提供他們的數據庫接口的,所以這個我們需要,在線抓取這些在線音樂播放器的接口,首先,這個事情,是屬於違規的。是屬於侵犯這些公司的版權的。所以,不能用於商業用途

我們以酷狗音樂為例子,抓取他的連接數據庫的API接口

我是用的是谷歌,進入私密模式,因為在這種模式下,不會緩存歌曲

 1. 進入酷狗的官網  www.kugou.com  然后隨便打開一首歌曲

會出現上面的窗口

F12打開調試者工具

刷新頁面,然后記錄network中的頁面傳輸信息

然后我們會發現,在記錄中,有一個數據是加載時間最長的。這個數據,就是頁面中數據量最大的,也就是歌曲

篩選數據類型 多媒體

然后就發現列表中的音樂

查看音樂頭信息,就會發現歌曲的地址,

我們在新窗口中打開這個地址

這就會是一首歌曲

這時候我們,可以在查詢一首歌,並添加到列表中

這時候我們查看開發者工具中,會最新加載的數據

 

查看這些數據會發現除了歌曲外,還會加載一些文本

 

查看這些文本的頭部,發現,里面會傳遞一個參數callback。這是回調函數,用來進行json傳遞的,是傳遞數據的常用方式。但是這種方式通常是不安全的,所以說,歌曲下載地址一般不是在這里的

然后我們會找到一個傳遞到php頁面的

查看內容

 

這里我們會發現有歌詞地址,和歌曲名稱,歌詞,還有一個hash值,查看請求地址.

這里我們可以看到,網頁向數據庫發送了一個hash的數據。我們從中知道,這個hash值是歌曲在數據庫唯一編碼

接下來,我們只需要知道歌曲的hash值,便可以找到歌曲地址了。

再次打開搜索列表,用開發者工具攔截數據,篩選js,會找到其中這樣的數據

隨便打開其中一個列表我們會發現里面有一個filehash值,復制這段值

並且我們替換到之前查找歌曲時候,查找到的php文件,並替換那個hash值

 

這時候頁面會返回一個json文件

我們可以通過在線json解析器,來格式化這個json

這里面有個play_url的參數,里面的值是一個地址

我們可以在新窗口打開這個地址

這里我們發現打開的一個熟悉的窗口,一個MP3,

 

我們查看歌詞列表的請求地址

這會有一個keyword的參數,后面是亂碼,但是這是一種中文的轉碼方式,復制這個請求地址,並改變這個keyword的值。

返回的結果是一個json的文件,我們來格式化

我們觀察后其實可以發現,這其實都是由搜索我們設置的那個關鍵詞的歌曲

里面會有好多的歌曲

 

我們找到其中一首歌的filehash

用之前同樣的方法,就可以獲得這首歌的MP3的地址,

由此我們獲得了這兩個url的請求地址,第一個就是歌曲的查詢列表,可以獲取歌曲的hash值,第二個是歌曲的地址,可以根據一個查詢列表中的hash值來獲取歌曲的地址

 

http://songsearch.kugou.com/song_search_v2?callback=jQuery191034642999175022426_1489023388639&keyword={歌曲名稱}&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1489023388641

 

http://www.kugou.com/yy/index.php?r=play/getdata&hash={歌曲hash值}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM