剛好看到有一款外掛程式可以得到這些歌曲,但是歌詞的請求鏈結卻一直都抓不到。無奈之下,只好向度娘求助了。
搜尋一番後,發現可以根據網易雲歌曲的id,拼接請求歌詞的鏈結,但是請求網頁版返回的是json字串型別的資料,有干擾資訊。所以就想著能不能利用python來處理一下,減少一點步驟,搞個「一鍵獲取」之類的功能。
例如:
需要的只是lyric
欄位的內容.
擷取歌曲鏈結的id
將id拼接進去歌詞鏈結中
請求歌詞後,獲取lyric
欄位的內容
**:
import re
import requests
import json
class
neteasse
:def
__init__
(self, url)
: self.url = url
self.link =
''self.headers =
defget_song_id
(self)
:'''
根據傳入的鏈結,截取出歌曲的id
:param url: str
:return: str
'''# ''
if self.url !="":
id= re.split(
'id='
, self.url)[1
]return
idelse
:return
""def
get_lyrics
(self)
:'''
根據歌曲id,請求獲取歌詞
:param id: str
:return: str
'''id= self.get_song_id()if
id!="":
self.link +=
id web_data = requests.get(url=self.link, headers=self.headers)
.text
json_data = json.loads(web_data)
try:
return json_data[
'lyric'
]except baseexception:
return
"歌曲id錯誤,請檢查後重試!!!"
else
:return
"鏈結錯誤,請檢查後重試!!!"
if __name__ ==
'__main__'
: url =
''net = neteasse(url)
lyric = net.get_lyrics(
)print
(lyric)
輸出的內容就是這首歌的歌詞了。
效果可以訪問我的部落格站點:
破解網易雲js加密,爬蟲獲取網易雲評論
這裡是對網頁版的網易雲 進行抓包,分析網路請求,url 然後可以發現 所有的網易雲熱評都是通過這個介面返回的json 找到js檔案 根據習慣我們先搜尋一下看看能不能找得到這兩個引數 開啟全域性搜尋很巧的是 我們在這裡可以直接根據encseckey定位到加密引數,有很多別的 會把名字改動,就沒這麼好找...
網易雲加密
1,找資料的 2,模擬傳送請求 sources裡面查詢檔案 滑鼠左鍵點選一下進入js檔案 斷點除錯 搜尋key值 有這parame和encseckey兩個引數的 parame encseckey 全程用console進行分析 h接受4個引數 宣告了乙個json和乙個i變數等於16位的隨機字串 對en...
爬網易雲歌單
學習爬蟲嘛,就是批量獲取目標 上內容。首先需要知道目標 的url,尤其是需要獲取目標 裡面子鏈結中的內容時,需要先批量獲取所有子鏈結的url。其次是從大量的資訊中提取並整理自己想要的資訊。是不是很簡單 一般用beautiful soup 庫,專門用來提取網頁的資料,用作爬蟲 很好用。beautifu...