"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

Python-酷狗音樂MV下載

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

簡直了,美美美

哈哈,別忘了正事!

第三步:右鍵(Chrome)檢查,Ctrl+F搜索"歸去來兮",結果如下:

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

簡直了,美美美

哈哈,別忘了正事!

第三步:右鍵(Chrome)檢查,Ctrl+F搜索"歸去來兮",結果如下:

Python-酷狗音樂MV下載

可以看出,這裡面有我們需要的MV的標題和MV的哈希值。至於哈希值是啥,待會再解釋。

獲取到它們,方法如下:

access_url ="鏈接地址"
# 移除SSL驗證時的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get(access_url, headers=headers, verify=False)
html = response.text
web_data = etree.HTML(html)
datas = web_data.xpath('//script[@type="text/javascript"]')
x = datas[1].xpath('./text()')[0].strip().split('.')[0].split(',')
mv_hash = x[1].split('"')[1]
mv_title = x[2].split('"')[1]
print('MV哈希值:%s,MV標題:%s'%(mv_hash,mv_title))
# 劃重點:獲取key
key = kugou_hash(mv_hash)

第四步?

在開始第四步之前,先用網上的解釋來說明什麼是哈希加密!

轉載鏈接:https://www.liaoxuefeng.com/wiki/897692888725344/923057313018752

Python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。

什麼是摘要算法呢?摘要算法又稱哈希算法、散列算法。它通過一個函數,把任意長度的數據轉換為一個長度固定的數據串(通常用16進制的字符串表示)。

舉個例子,你寫了一篇文章,內容是一個字符串'how to use python hashlib - by Michael',並附上這篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'。如果有人篡改了你的文章,並發表為'how to use python hashlib - by Bob',你可以一下子指出Bob篡改了你的文章,因為根據'how to use python hashlib - by Bob'計算出的摘要不同於原始文章的摘要。

可見,摘要算法就是通過摘要函數f()對任意長度的數據data計算出固定長度的摘要digest,目的是為了發現原始數據是否被人篡改過。

摘要算法之所以能指出數據是否被篡改過,就是因為摘要函數是一個單向函數,計算f(data)很容易,但通過digest反推data卻非常困難。而且,對原始數據做一個bit的修改,都會導致計算出的摘要完全不同。

好,接下來,第四步:用hash得到key!

m = hashlib.md5() # 哈希 md5加密
kugou_slat = 'kugoumvcloud' # 鹽
m.update((mv_hash + kugou_slat).encode("utf8")) # 哈希值+鹽
key = m.hexdigest()
return key # 返回key值

第五步:刷新頁面,右鍵檢查,Network,搜索key,得到如下結果:

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

簡直了,美美美

哈哈,別忘了正事!

第三步:右鍵(Chrome)檢查,Ctrl+F搜索"歸去來兮",結果如下:

Python-酷狗音樂MV下載

可以看出,這裡面有我們需要的MV的標題和MV的哈希值。至於哈希值是啥,待會再解釋。

獲取到它們,方法如下:

access_url ="鏈接地址"
# 移除SSL驗證時的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get(access_url, headers=headers, verify=False)
html = response.text
web_data = etree.HTML(html)
datas = web_data.xpath('//script[@type="text/javascript"]')
x = datas[1].xpath('./text()')[0].strip().split('.')[0].split(',')
mv_hash = x[1].split('"')[1]
mv_title = x[2].split('"')[1]
print('MV哈希值:%s,MV標題:%s'%(mv_hash,mv_title))
# 劃重點:獲取key
key = kugou_hash(mv_hash)

第四步?

在開始第四步之前,先用網上的解釋來說明什麼是哈希加密!

轉載鏈接:https://www.liaoxuefeng.com/wiki/897692888725344/923057313018752

Python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。

什麼是摘要算法呢?摘要算法又稱哈希算法、散列算法。它通過一個函數,把任意長度的數據轉換為一個長度固定的數據串(通常用16進制的字符串表示)。

舉個例子,你寫了一篇文章,內容是一個字符串'how to use python hashlib - by Michael',並附上這篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'。如果有人篡改了你的文章,並發表為'how to use python hashlib - by Bob',你可以一下子指出Bob篡改了你的文章,因為根據'how to use python hashlib - by Bob'計算出的摘要不同於原始文章的摘要。

可見,摘要算法就是通過摘要函數f()對任意長度的數據data計算出固定長度的摘要digest,目的是為了發現原始數據是否被人篡改過。

摘要算法之所以能指出數據是否被篡改過,就是因為摘要函數是一個單向函數,計算f(data)很容易,但通過digest反推data卻非常困難。而且,對原始數據做一個bit的修改,都會導致計算出的摘要完全不同。

好,接下來,第四步:用hash得到key!

m = hashlib.md5() # 哈希 md5加密
kugou_slat = 'kugoumvcloud' # 鹽
m.update((mv_hash + kugou_slat).encode("utf8")) # 哈希值+鹽
key = m.hexdigest()
return key # 返回key值

第五步:刷新頁面,右鍵檢查,Network,搜索key,得到如下結果:

Python-酷狗音樂MV下載

可以看到,這裡面就有我們想要的超清畫質的下載鏈接!

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

簡直了,美美美

哈哈,別忘了正事!

第三步:右鍵(Chrome)檢查,Ctrl+F搜索"歸去來兮",結果如下:

Python-酷狗音樂MV下載

可以看出,這裡面有我們需要的MV的標題和MV的哈希值。至於哈希值是啥,待會再解釋。

獲取到它們,方法如下:

access_url ="鏈接地址"
# 移除SSL驗證時的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get(access_url, headers=headers, verify=False)
html = response.text
web_data = etree.HTML(html)
datas = web_data.xpath('//script[@type="text/javascript"]')
x = datas[1].xpath('./text()')[0].strip().split('.')[0].split(',')
mv_hash = x[1].split('"')[1]
mv_title = x[2].split('"')[1]
print('MV哈希值:%s,MV標題:%s'%(mv_hash,mv_title))
# 劃重點:獲取key
key = kugou_hash(mv_hash)

第四步?

在開始第四步之前,先用網上的解釋來說明什麼是哈希加密!

轉載鏈接:https://www.liaoxuefeng.com/wiki/897692888725344/923057313018752

Python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。

什麼是摘要算法呢?摘要算法又稱哈希算法、散列算法。它通過一個函數,把任意長度的數據轉換為一個長度固定的數據串(通常用16進制的字符串表示)。

舉個例子,你寫了一篇文章,內容是一個字符串'how to use python hashlib - by Michael',並附上這篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'。如果有人篡改了你的文章,並發表為'how to use python hashlib - by Bob',你可以一下子指出Bob篡改了你的文章,因為根據'how to use python hashlib - by Bob'計算出的摘要不同於原始文章的摘要。

可見,摘要算法就是通過摘要函數f()對任意長度的數據data計算出固定長度的摘要digest,目的是為了發現原始數據是否被人篡改過。

摘要算法之所以能指出數據是否被篡改過,就是因為摘要函數是一個單向函數,計算f(data)很容易,但通過digest反推data卻非常困難。而且,對原始數據做一個bit的修改,都會導致計算出的摘要完全不同。

好,接下來,第四步:用hash得到key!

m = hashlib.md5() # 哈希 md5加密
kugou_slat = 'kugoumvcloud' # 鹽
m.update((mv_hash + kugou_slat).encode("utf8")) # 哈希值+鹽
key = m.hexdigest()
return key # 返回key值

第五步:刷新頁面,右鍵檢查,Network,搜索key,得到如下結果:

Python-酷狗音樂MV下載

可以看到,這裡面就有我們想要的超清畫質的下載鏈接!

Python-酷狗音樂MV下載

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

簡直了,美美美

哈哈,別忘了正事!

第三步:右鍵(Chrome)檢查,Ctrl+F搜索"歸去來兮",結果如下:

Python-酷狗音樂MV下載

可以看出,這裡面有我們需要的MV的標題和MV的哈希值。至於哈希值是啥,待會再解釋。

獲取到它們,方法如下:

access_url ="鏈接地址"
# 移除SSL驗證時的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get(access_url, headers=headers, verify=False)
html = response.text
web_data = etree.HTML(html)
datas = web_data.xpath('//script[@type="text/javascript"]')
x = datas[1].xpath('./text()')[0].strip().split('.')[0].split(',')
mv_hash = x[1].split('"')[1]
mv_title = x[2].split('"')[1]
print('MV哈希值:%s,MV標題:%s'%(mv_hash,mv_title))
# 劃重點:獲取key
key = kugou_hash(mv_hash)

第四步?

在開始第四步之前,先用網上的解釋來說明什麼是哈希加密!

轉載鏈接:https://www.liaoxuefeng.com/wiki/897692888725344/923057313018752

Python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。

什麼是摘要算法呢?摘要算法又稱哈希算法、散列算法。它通過一個函數,把任意長度的數據轉換為一個長度固定的數據串(通常用16進制的字符串表示)。

舉個例子,你寫了一篇文章,內容是一個字符串'how to use python hashlib - by Michael',並附上這篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'。如果有人篡改了你的文章,並發表為'how to use python hashlib - by Bob',你可以一下子指出Bob篡改了你的文章,因為根據'how to use python hashlib - by Bob'計算出的摘要不同於原始文章的摘要。

可見,摘要算法就是通過摘要函數f()對任意長度的數據data計算出固定長度的摘要digest,目的是為了發現原始數據是否被人篡改過。

摘要算法之所以能指出數據是否被篡改過,就是因為摘要函數是一個單向函數,計算f(data)很容易,但通過digest反推data卻非常困難。而且,對原始數據做一個bit的修改,都會導致計算出的摘要完全不同。

好,接下來,第四步:用hash得到key!

m = hashlib.md5() # 哈希 md5加密
kugou_slat = 'kugoumvcloud' # 鹽
m.update((mv_hash + kugou_slat).encode("utf8")) # 哈希值+鹽
key = m.hexdigest()
return key # 返回key值

第五步:刷新頁面,右鍵檢查,Network,搜索key,得到如下結果:

Python-酷狗音樂MV下載

可以看到,這裡面就有我們想要的超清畫質的下載鏈接!

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

第六步:既然找到了最後的下載鏈接,那下載自然就不在話在!開搞!

download_url = "http://trackermv.kugou.com/interface/index/cmd=100&hash={}&key={}&pid=6&ext=mp4&ismp3=0".format(mv_hash,key)
hash_res = requests.get(download_url, headers=headers)
hash_js = hash_res.json() # json格式
try:
play_url = hash_js['mvdata']['rq']['downurl']
file_suffix = play_url.split('/')[-1].split('.')[-1]
if play_url !="":
print('1080P MV下載地址已找到,請稍候...')
with open(save_path_real+mv_title + "." + file_suffix, "wb")as fp:
fp.write(requests.get(play_url).content)
print('>>>1080P下載完成!!!')

至此,我們想要的超清MV便可收入囊中!演示:

"

酷狗音樂是一款非常不錯的軟件,包含著音樂軟件所有該有的功能。

初中開始接觸上網,下載歌曲便一直用酷狗音樂。想當初自己年少無知啊,好不容易湊夠5塊錢上了2個小時的網,結果愣是一首歌沒下載下來,下載的全是歌詞文件!我興高采烈地往自己的mp4裡傳輸,結果發現不能播放!網吧時間到了,口袋錢空了,歌沒下下來,當時氣死老子了。這也可以說是一段難忘的經歷啊。

上了大學以後,為了配合我稍微有一點那麼文縐縐的氣質,開始跟隨網易大軍,使用網易雲音樂,開啟我的高逼格歷程!大學畢業,氣質全無,我覺得我配不上網易雲了,又投入了酷狗音樂的懷抱[笑哭]。

這不,這兩天重看《雙世寵妃2》,再一次深深地迷上了裡面的曲檀兒(樑潔飾演)【花痴】,配合葉炫清的《歸去來兮》,簡直了!【好像屌絲本質一覽無餘?才不是,是欣賞!哈哈】

開始分析:

MV鏈接:https://www.kugou.com/mvweb/html/mv_866733.html

想直接看的,可跳轉過去哦!

第一步:打開酷狗WEB,搜索《歸去來兮》,點擊

Python-酷狗音樂MV下載

第二步:點擊音樂播放界面的mv,進行跳轉到播放頁面。

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

簡直了,美美美

哈哈,別忘了正事!

第三步:右鍵(Chrome)檢查,Ctrl+F搜索"歸去來兮",結果如下:

Python-酷狗音樂MV下載

可以看出,這裡面有我們需要的MV的標題和MV的哈希值。至於哈希值是啥,待會再解釋。

獲取到它們,方法如下:

access_url ="鏈接地址"
# 移除SSL驗證時的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get(access_url, headers=headers, verify=False)
html = response.text
web_data = etree.HTML(html)
datas = web_data.xpath('//script[@type="text/javascript"]')
x = datas[1].xpath('./text()')[0].strip().split('.')[0].split(',')
mv_hash = x[1].split('"')[1]
mv_title = x[2].split('"')[1]
print('MV哈希值:%s,MV標題:%s'%(mv_hash,mv_title))
# 劃重點:獲取key
key = kugou_hash(mv_hash)

第四步?

在開始第四步之前,先用網上的解釋來說明什麼是哈希加密!

轉載鏈接:https://www.liaoxuefeng.com/wiki/897692888725344/923057313018752

Python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。

什麼是摘要算法呢?摘要算法又稱哈希算法、散列算法。它通過一個函數,把任意長度的數據轉換為一個長度固定的數據串(通常用16進制的字符串表示)。

舉個例子,你寫了一篇文章,內容是一個字符串'how to use python hashlib - by Michael',並附上這篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'。如果有人篡改了你的文章,並發表為'how to use python hashlib - by Bob',你可以一下子指出Bob篡改了你的文章,因為根據'how to use python hashlib - by Bob'計算出的摘要不同於原始文章的摘要。

可見,摘要算法就是通過摘要函數f()對任意長度的數據data計算出固定長度的摘要digest,目的是為了發現原始數據是否被人篡改過。

摘要算法之所以能指出數據是否被篡改過,就是因為摘要函數是一個單向函數,計算f(data)很容易,但通過digest反推data卻非常困難。而且,對原始數據做一個bit的修改,都會導致計算出的摘要完全不同。

好,接下來,第四步:用hash得到key!

m = hashlib.md5() # 哈希 md5加密
kugou_slat = 'kugoumvcloud' # 鹽
m.update((mv_hash + kugou_slat).encode("utf8")) # 哈希值+鹽
key = m.hexdigest()
return key # 返回key值

第五步:刷新頁面,右鍵檢查,Network,搜索key,得到如下結果:

Python-酷狗音樂MV下載

可以看到,這裡面就有我們想要的超清畫質的下載鏈接!

Python-酷狗音樂MV下載

Python-酷狗音樂MV下載

第六步:既然找到了最後的下載鏈接,那下載自然就不在話在!開搞!

download_url = "http://trackermv.kugou.com/interface/index/cmd=100&hash={}&key={}&pid=6&ext=mp4&ismp3=0".format(mv_hash,key)
hash_res = requests.get(download_url, headers=headers)
hash_js = hash_res.json() # json格式
try:
play_url = hash_js['mvdata']['rq']['downurl']
file_suffix = play_url.split('/')[-1].split('.')[-1]
if play_url !="":
print('1080P MV下載地址已找到,請稍候...')
with open(save_path_real+mv_title + "." + file_suffix, "wb")as fp:
fp.write(requests.get(play_url).content)
print('>>>1080P下載完成!!!')

至此,我們想要的超清MV便可收入囊中!演示:

Python-酷狗音樂MV下載

最後,附上源碼:

import requests
import hashlib
from lxml import etree
import urllib3
import winreg
import os
# mv保存地址
def get_desktop():
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,r'Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders')
return winreg.QueryValueEx(key, "Desktop")[0]
save_path_real = get_desktop()+'\\\\' + "酷狗音樂MTV" + "\\\\"
headers = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}
print('>>>>>>>>>>>>酷狗MV下載程序開始<<<<<<<<<<<<<\\n')
print('>>>>>>>>>>>>示例URL:http://www.kugou.com/mvweb/html/mv_1138506.html<<<<<<<<<<<<<\\n')
# 獲取mv的hash和title
def get_mv_name_hash(html, save_path_real):
web_data = etree.HTML(html)
datas = web_data.xpath('//script[@type="text/javascript"]')
x = datas[1].xpath('./text()')[0].strip().split('.')[0].split(',')
mv_hash = x[1].split('"')[1]
mv_title = x[2].split('"')[1]
print('MV哈希值:%s,MV標題:%s'%(mv_hash,mv_title))
# 獲取key
key = kugou_hash(mv_hash)
# 下載MV
download_mv(mv_title,mv_hash,key,save_path_real)
# 哈希加密的教程鏈接,轉1:https://www.jianshu.com/p/cc2468b82e90
# 哈希加密的教程鏈接,轉2:https://www.jianshu.com/p/cb77838c69db
# 得到key
# 傳入MV哈希值 返回KEY值
def kugou_hash(mv_hash):
m = hashlib.md5() # 哈希 md5加密
# #song_hash_upper=mv_hash.upper()#大寫
kugou_slat = 'kugoumvcloud' # 鹽
m.update((mv_hash + kugou_slat).encode("utf8")) # 哈希值+鹽
key = m.hexdigest()
return key # 返回key值
# 下載
def download_mv(mv_title,mv_hash,key,save_path_real):
if not os.path.exists(save_path_real):
os.mkdir(save_path_real)
print("%s正在下載,請稍候..."%mv_title)
download_url = "http://trackermv.kugou.com/interface/index/cmd=100&hash={}&key={}&pid=6&ext=mp4&ismp3=0".format(mv_hash,key)
hash_res = requests.get(download_url, headers=headers)
hash_js = hash_res.json() # json格式
try:
play_url = hash_js['mvdata']['rq']['downurl']
file_suffix = play_url.split('/')[-1].split('.')[-1]
if play_url !="":
print('1080P MV下載地址已找到,請稍候...')
with open(save_path_real+mv_title + "." + file_suffix, "wb")as fp:
fp.write(requests.get(play_url).content)
print('>>>1080P下載完成!!!')
except:
try:
play_url = hash_js['mvdata']['sq']['downurl']
file_suffix = play_url.split('/')[-1].split('.')[-1]
if play_url !="":
print('720P MV下載地址已找到,請稍候...')
with open(save_path_real+mv_title + "." + file_suffix, "wb")as fp:
fp.write(requests.get(play_url).content)
print('>>>720P下載完成!!!')
except:
try:
play_url = hash_js['mvdata']['hd']['downurl']
file_suffix = play_url.split('/')[-1].split('.')[-1]
if play_url !="":
print('540P MV下載地址已找到,請稍候...')
with open(save_path_real+mv_title + "." + file_suffix, "wb")as fp:
fp.write(requests.get(play_url).content)
print('>>>540P下載完成!!!')
except:
print('>>>無MV!')
# 獲取html
def get_html(url):
access_url = url
# 移除SSL驗證時的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get(access_url, headers=headers, verify=False)
html = response.text
# 獲取mv的hash和標題
get_mv_name_hash(html, save_path_real)
def main():
# MV頁面鏈接
url = input('>>>請輸入酷狗音樂MV播放頁URL地址:')
get_html(url)
continue_download = input('>>>是否繼續下載?輸入Y or N,其餘字符不可用!\\n\\n')
if continue_download == 'Y' or continue_download == 'y':
main()
# 啟動程序
if __name__ == '__main__':
main()

好了,今天的分享到此就結束了,有想交流的,請記得私信我哦!

代碼也可以打包成exe文件,電腦安裝python也能下載,我已經打包好了,如果小夥伴有需要的,也記得私信我哦。

"

相關推薦

推薦中...