您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何使用Python抓取QQ音樂(lè)數(shù)據(jù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
【一、項(xiàng)目目標(biāo)】
獲取 QQ 音樂(lè)指定歌手單曲排行指定頁(yè)數(shù)的歌曲的歌名、專(zhuān)輯名、播放鏈接。
由淺入深,層層遞進(jìn),非常適合剛?cè)腴T(mén)的同學(xué)練手。
【二、需要的庫(kù)】
主要涉及的庫(kù)有:requests、json、openpyxl
【三、項(xiàng)目實(shí)現(xiàn)】
1.了解 QQ 音樂(lè)網(wǎng)站的 robots 協(xié)議
只禁止播放列表,可以操作。
2.進(jìn)入 QQ 音樂(lè)主頁(yè) https://y.qq.com/
3.輸入任意歌手,比如鄧紫棋
4.打開(kāi)審查元素(快捷鍵 Ctrl+Shift+I)
5.分析網(wǎng)頁(yè)源代碼 Elements,發(fā)現(xiàn)無(wú)歌曲信息,無(wú)法使用 BeautifulSoup,如下圖所示,結(jié)果為空。
6.點(diǎn)擊 Network,看數(shù)據(jù)在不在 XHR(無(wú)刷新更新頁(yè)
面),我的經(jīng)驗(yàn)是先看 Size 最大的,然后分析 Name,
查看 Preview,果然在里面!
7.點(diǎn)擊 Headers,拿到相關(guān)參數(shù)。如下圖,仔細(xì)觀察
url 與 Query String Parameters 參數(shù)的關(guān)系,發(fā)現(xiàn)
url 中的 w 代表歌手名,p 代表頁(yè)數(shù)。
8.通過(guò) json 代碼實(shí)現(xiàn),首先小試牛刀,爬取第一頁(yè)
的數(shù)據(jù),url 直接復(fù)制過(guò)來(lái)。成功!
9.引入 params 參數(shù),實(shí)現(xiàn)指定歌手、指定頁(yè)數(shù)的查詢(xún)。
注意代碼url為上一步url中“?”之前的部分, params兩邊的參數(shù)都需要加 ’’,requests.get 添加 params,參數(shù)(也可順便添加 headers 參數(shù))
10. 添加存儲(chǔ)功能,保存到本地(Excel)。也可保存為 csv 格式或存入數(shù)據(jù)庫(kù),操作類(lèi)似。
1.爬取 QQ 音樂(lè)比爬取豆瓣等網(wǎng)站稍難,所需信息不在網(wǎng)頁(yè)源代碼,需查看 XHR;
2.通過(guò) XHR 爬取數(shù)據(jù)一般要使用 json,格式為:
res = requests.get(url)json = res.json()list = json[‘’][‘’]…
3.僅供練手參考,不建議爬取太多數(shù)據(jù),給服務(wù)器增大負(fù)載;
4.Python 爬取 QQ 音樂(lè)數(shù)據(jù)(二)將為大家?guī)?lái)如何爬取指定歌曲的歌詞及評(píng)論(selenium),并生成詞云圖(wordcloud),敬請(qǐng)期待。
關(guān)于如何使用Python抓取QQ音樂(lè)數(shù)據(jù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。