在线音乐播放器-----酷狗音乐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值}
總結
以上是生活随笔為你收集整理的在线音乐播放器-----酷狗音乐api接口抓取的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 鼻渊舒口服液_功效作用注意事项用药禁忌用
- 下一篇: 光彩夺目的什么(国货爆款值得买吗)
