在线音乐播放器-----酷狗音乐api接口抓取
首先身為一個(gè)在線音樂(lè)播放器,需要前端和數(shù)據(jù)庫(kù)的搭配使用。
在數(shù)據(jù)庫(kù)方面,我們沒(méi)有辦法制作,首先是版權(quán)問(wèn)題,再加上數(shù)據(jù)量。所以我們需要借用其他網(wǎng)絡(luò)播放器的數(shù)據(jù)庫(kù)。
但是這些在線播放器,如百度,酷狗,酷我等在線音樂(lè)播放器,是不會(huì)提供他們的數(shù)據(jù)庫(kù)接口的,所以這個(gè)我們需要,在線抓取這些在線音樂(lè)播放器的接口,首先,這個(gè)事情,是屬于違規(guī)的。是屬于侵犯這些公司的版權(quán)的。所以,不能用于商業(yè)用途
我們以酷狗音樂(lè)為例子,抓取他的連接數(shù)據(jù)庫(kù)的API接口
我是用的是谷歌,進(jìn)入私密模式,因?yàn)樵谶@種模式下,不會(huì)緩存歌曲
1. 進(jìn)入酷狗的官網(wǎng) www.kugou.com 然后隨便打開(kāi)一首歌曲
會(huì)出現(xiàn)上面的窗口
F12打開(kāi)調(diào)試者工具
刷新頁(yè)面,然后記錄network中的頁(yè)面?zhèn)鬏斝畔?/p>
然后我們會(huì)發(fā)現(xiàn),在記錄中,有一個(gè)數(shù)據(jù)是加載時(shí)間最長(zhǎng)的。這個(gè)數(shù)據(jù),就是頁(yè)面中數(shù)據(jù)量最大的,也就是歌曲
篩選數(shù)據(jù)類型 多媒體
然后就發(fā)現(xiàn)列表中的音樂(lè)
查看音樂(lè)頭信息,就會(huì)發(fā)現(xiàn)歌曲的地址,
我們?cè)谛麓翱谥写蜷_(kāi)這個(gè)地址
這就會(huì)是一首歌曲
這時(shí)候我們,可以在查詢一首歌,并添加到列表中
這時(shí)候我們查看開(kāi)發(fā)者工具中,會(huì)最新加載的數(shù)據(jù)
查看這些數(shù)據(jù)會(huì)發(fā)現(xiàn)除了歌曲外,還會(huì)加載一些文本
查看這些文本的頭部,發(fā)現(xiàn),里面會(huì)傳遞一個(gè)參數(shù)callback。這是回調(diào)函數(shù),用來(lái)進(jìn)行json傳遞的,是傳遞數(shù)據(jù)的常用方式。但是這種方式通常是不安全的,所以說(shuō),歌曲下載地址一般不是在這里的
然后我們會(huì)找到一個(gè)傳遞到php頁(yè)面的
查看內(nèi)容
這里我們會(huì)發(fā)現(xiàn)有歌詞地址,和歌曲名稱,歌詞,還有一個(gè)hash值,查看請(qǐng)求地址.
這里我們可以看到,網(wǎng)頁(yè)向數(shù)據(jù)庫(kù)發(fā)送了一個(gè)hash的數(shù)據(jù)。我們從中知道,這個(gè)hash值是歌曲在數(shù)據(jù)庫(kù)唯一編碼
接下來(lái),我們只需要知道歌曲的hash值,便可以找到歌曲地址了。
再次打開(kāi)搜索列表,用開(kāi)發(fā)者工具攔截?cái)?shù)據(jù),篩選js,會(huì)找到其中這樣的數(shù)據(jù)
隨便打開(kāi)其中一個(gè)列表我們會(huì)發(fā)現(xiàn)里面有一個(gè)filehash值,復(fù)制這段值
并且我們替換到之前查找歌曲時(shí)候,查找到的php文件,并替換那個(gè)hash值
這時(shí)候頁(yè)面會(huì)返回一個(gè)json文件
我們可以通過(guò)在線json解析器,來(lái)格式化這個(gè)json
這里面有個(gè)play_url的參數(shù),里面的值是一個(gè)地址
我們可以在新窗口打開(kāi)這個(gè)地址
這里我們發(fā)現(xiàn)打開(kāi)的一個(gè)熟悉的窗口,一個(gè)MP3,
我們查看歌詞列表的請(qǐng)求地址
這會(huì)有一個(gè)keyword的參數(shù),后面是亂碼,但是這是一種中文的轉(zhuǎn)碼方式,復(fù)制這個(gè)請(qǐng)求地址,并改變這個(gè)keyword的值。
返回的結(jié)果是一個(gè)json的文件,我們來(lái)格式化
我們觀察后其實(shí)可以發(fā)現(xiàn),這其實(shí)都是由搜索我們?cè)O(shè)置的那個(gè)關(guān)鍵詞的歌曲
里面會(huì)有好多的歌曲
我們找到其中一首歌的filehash
用之前同樣的方法,就可以獲得這首歌的MP3的地址,
由此我們獲得了這兩個(gè)url的請(qǐng)求地址,第一個(gè)就是歌曲的查詢列表,可以獲取歌曲的hash值,第二個(gè)是歌曲的地址,可以根據(jù)一個(gè)查詢列表中的hash值來(lái)獲取歌曲的地址
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值}
總結(jié)
以上是生活随笔為你收集整理的在线音乐播放器-----酷狗音乐api接口抓取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 鼻渊舒口服液_功效作用注意事项用药禁忌用
- 下一篇: 光彩夺目的什么(国货爆款值得买吗)