一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python爬蟲實戰之網易云音樂加密解析附源碼

Python爬蟲實戰之網易云音樂加密解析附源碼

2022-01-25 00:06松鼠愛吃餅干 Python

讀萬卷書不如行萬里路,學的扎不扎實要通過實戰才能看出來,本篇文章手把手帶你解析網易云音樂數據,大家可以在實戰過程中更有效的掌握python

環境

  • python3.8
  • pycharm2021.2

 

知識點

  • requests >>> pip install requests
  • execjs >>> pip install PyExecJS

 

第一步

打開這個網站 在里面去分析我們需要的數據 每個音樂的名稱 id

去網頁源代碼查找數據,發現并沒有,這個網頁 并不是一個靜態頁面

Python爬蟲實戰之網易云音樂加密解析附源碼

打開開發者工具,找到歌曲的id

Python爬蟲實戰之網易云音樂加密解析附源碼

找到真正的目標網址https://music.163.com/discover/toplist

Python爬蟲實戰之網易云音樂加密解析附源碼

【付費VIP完整版】只要看了就能學會的教程,80集Python基礎入門視頻教學

點這里即可免費在線觀看

 

第二步

通過代碼去實現當前這一個步驟

  • 通過代碼去訪問當這個頁面 C 拿到網頁源代碼
  • 提取我們真正想要的 音樂的名稱 id
  • 下載音樂: id獲取是為了下載音樂分析里面音樂數據的 加密規則 去下載歌曲

 

開始代碼

先導入所需模塊

import requests
import re
import execjs

請求數據

# 通過代碼去訪問當這個頁面 -- 拿到網頁源代碼
url = 'https://music.163.com/discover/toplist'
# 偽裝
headers = {
  'cookie': '_ntes_nuid=063717de540d3ec18d9b4a0bdf51e931; WM_TID=sxztjH%2FJbYZBEREFBQZvAgttUnJPrvYf; ntes_kaola_ad=1; NMTID=00OSBNvfChgV2TD7k5IhSzky6R8lXgAAAF0zoWmoA; _ntes_nnid=063717de540d3ec18d9b4a0bdf51e931,1607344992641; _iuqxldmzr_=32; OUTFOX_SEARCH_USER_ID_NCOO=2145381542.3273497; WEVNSM=1.0.0; WNMCID=sazafu.1624080681192.01.0; UM_distinctid=17b784cb58a17-097be09ee87fb9-c343365-1aeaa0-17b784cb58b8bc; __root_domain_v=.163.com; _qddaz=QD.159230735652240; vinfo_n_f_l_n3=11aae7905aa2179b.1.11.1575470964063.1625470009945.1632894007779; usertrack=ezq0J2FlcQWNYypxAx88Ag==; JSESSIONID-WYYY=Yvm62%5Cnd8XNkT2ryCNOJx9urqXsxCDMF6srNnGRegtmuNdB5MrrS9ou%2FWw3JbVf960uHnGW3Bb%2Fbhv2xZm3Vn%2B%2BonZSX38sqKiUMuRd6TDKD39HRzGmrZ%5Cp9IUaNs%5C5nYt9xltJBt5qRgWsl0PZsxDhSu26ugGAozPffXXAjemm0o%2Fv%5C%3A1634111694844; WM_NI=au9XpuutN3GwymEoZsAgWl6%2BH4cTcHgYKos%2BWibR3hSntTQhrpX%2FLoCAycOKLnZteLb1LlluoIk9jlKxaaUThS4tfZr9jWB3LVjXKQUH4%2BMpukbEPcnHaN80J8%2FhoqeeYms%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6ee8de74b85b18eb3b27bae8e8ab2d44e969f9aafae3388af8f98d06da59b968ecf2af0fea7c3b92aa3abf7b9f37fb7ac82d4c67dbbb38b90d97983b9998db5218cecadb5e244a5878590f22195b7aeb3b26491b2bcb5d464b2b098d0cf65819fb784ce4190b29695e848a2ef848def7fad97a5dae96889a8af82d860ac8dfc95e552b2e7a6b8c139908aa6b9ca5b9798fcccd07cb7b5aea6d369ae98afafbb3c8ae8e189ee7ba7bb978ef237e2a3; playerid=29374327',
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
}
# url: 分析出來的真正數據鏈接
# headers: 偽裝請求頭
response = requests.get(url, headers).text
# <Response [200]>: 告訴你訪問成功了

提取我們真正想要的 音樂的名稱 id

zip_data = re.findall('<li><a href="http://www.codebaoku.com/song\?id=(.*?)" rel="external nofollow"  rel="external nofollow" >(.*?)</a></li>', response)
for music_id, title in zip_data:
  # url_1 = 'http://music.163.com/song/media/outer/url?id=' + music_id
  url_1 = 'https://music.163.com/weapi/song/enhance/player/url/v1?csrf_token='
  result = ctx.call('start', music_id)
  data = {
      'params': result['encText'],
      'encSecKey': result['encSecKey']
  }
  # 發送請求
  # 當前的音樂數據
  music_url = requests.post(url_1, data=data, headers=headers).json()['data'][0]['url']
  music_data = requests.get(music_url, headers).content
  f.write(music_data)
print(title)

Python爬蟲實戰之網易云音樂加密解析附源碼

完整代碼

import requests
import re
import execjs

url = 'https://music.163.com/discover/toplist'
# 偽裝
headers = {
  'cookie': '_ntes_nuid=063717de540d3ec18d9b4a0bdf51e931; WM_TID=sxztjH%2FJbYZBEREFBQZvAgttUnJPrvYf; ntes_kaola_ad=1; NMTID=00OSBNvfChgV2TD7k5IhSzky6R8lXgAAAF0zoWmoA; _ntes_nnid=063717de540d3ec18d9b4a0bdf51e931,1607344992641; _iuqxldmzr_=32; OUTFOX_SEARCH_USER_ID_NCOO=2145381542.3273497; WEVNSM=1.0.0; WNMCID=sazafu.1624080681192.01.0; UM_distinctid=17b784cb58a17-097be09ee87fb9-c343365-1aeaa0-17b784cb58b8bc; __root_domain_v=.163.com; _qddaz=QD.159230735652240; vinfo_n_f_l_n3=11aae7905aa2179b.1.11.1575470964063.1625470009945.1632894007779; usertrack=ezq0J2FlcQWNYypxAx88Ag==; JSESSIONID-WYYY=Yvm62%5Cnd8XNkT2ryCNOJx9urqXsxCDMF6srNnGRegtmuNdB5MrrS9ou%2FWw3JbVf960uHnGW3Bb%2Fbhv2xZm3Vn%2B%2BonZSX38sqKiUMuRd6TDKD39HRzGmrZ%5Cp9IUaNs%5C5nYt9xltJBt5qRgWsl0PZsxDhSu26ugGAozPffXXAjemm0o%2Fv%5C%3A1634111694844; WM_NI=au9XpuutN3GwymEoZsAgWl6%2BH4cTcHgYKos%2BWibR3hSntTQhrpX%2FLoCAycOKLnZteLb1LlluoIk9jlKxaaUThS4tfZr9jWB3LVjXKQUH4%2BMpukbEPcnHaN80J8%2FhoqeeYms%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6ee8de74b85b18eb3b27bae8e8ab2d44e969f9aafae3388af8f98d06da59b968ecf2af0fea7c3b92aa3abf7b9f37fb7ac82d4c67dbbb38b90d97983b9998db5218cecadb5e244a5878590f22195b7aeb3b26491b2bcb5d464b2b098d0cf65819fb784ce4190b29695e848a2ef848def7fad97a5dae96889a8af82d860ac8dfc95e552b2e7a6b8c139908aa6b9ca5b9798fcccd07cb7b5aea6d369ae98afafbb3c8ae8e189ee7ba7bb978ef237e2a3; playerid=29374327',
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
}

response = requests.get(url, headers).text
zip_data = re.findall('<li><a href="http://www.codebaoku.com/song\?id=(.*?)" rel="external nofollow"  rel="external nofollow" >(.*?)</a></li>', response)
js = open('music163.js', mode='r', encoding='utf-8').read()
ctx = execjs.compile(js)
for music_id, title in zip_data:
  url_1 = 'https://music.163.com/weapi/song/enhance/player/url/v1?csrf_token='
  result = ctx.call('start', music_id)
  data = {
      'params': result['encText'],
      'encSecKey': result['encSecKey']
  }
  music_url = requests.post(url_1, data=data, headers=headers).json()['data'][0]['url']
  music_data = requests.get(music_url, headers).content
  with open('music/' + title + '.mp3', mode='wb') as f:
      f.write(music_data)
  print(title)

到此這篇關于Python爬蟲實戰之網易云音樂加密解析附源碼的文章就介紹到這了,更多相關Python 網易云音樂解析內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://pythonjx.blog.csdn.net/article/details/120747494

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天草人人草 | 含羞草传媒每天免费一次破解 | 性欧美f | 国产精品合集久久久久青苹果 | 日产精品卡一卡2卡三卡乱码工厂 | 黄动漫软件车车好快的车车 | 欧美一级乱妇老太婆特黄 | 欧美一区二区三区在线观看免费 | yellow视频在线观看 | 日本一区二区在线不卡 | 国产精品亚洲午夜不卡 | 亚洲天堂网在线观看视频 | 男生操女生动态图 | 国产成人黄网在线免 | 亚洲国产在线99视频 | segou视频在线观看 | www.色呦呦.com | 日韩在线一区二区三区免费视频 | 国产精品久久久天天影视香蕉 | 久久婷婷五月综合色丁香 | 人人澡 人人澡碰人人看软件 | 亚洲第一页综合 | 99在线精品免费视频 | 天美传媒传媒免费观看 | 91成人啪国产啪永久地址 | 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | 西施打开双腿下面好紧 | 久久免费特黄毛片 | 秋葵丝瓜茄子草莓榴莲樱桃 | 处女摘花 | 黑人开嫩苞 | 国产欧美国产综合第一区 | cosplay 极品videos | 午夜 在线播放 | 日韩欧一级毛片在线播无遮挡 | xxxxx性13一14| 九九成人免费视频 | 国产欧美又粗又猛又爽老 | 天天综合色天天综合网 | 免费视频片在线观看 | 91麻豆精品国产片在线观看 |