日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python 爬取网易云音乐歌单

發(fā)布時(shí)間:2023/12/10 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 爬取网易云音乐歌单 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python 爬取網(wǎng)易云音樂(lè)

來(lái)自嗶哩嗶哩學(xué)習(xí)視頻 爬取網(wǎng)易云音樂(lè)視頻總結(jié),也算是為自己記個(gè)筆記吧

  • 所需庫(kù)
    requests 點(diǎn)擊查看介紹
    lxml 點(diǎn)擊查看介紹

  • 確定url地址
    以谷歌瀏覽器

    進(jìn)入所需歌單,隨便點(diǎn)首歌,右鍵,檢查

    找到network—XHR,如果沒(méi)有內(nèi)容,刷新一下,接下來(lái)可看到如圖


  • 可看到所需歌曲的url
    https://m801.music.126.net/20191203211801/8a4fe99967c7a8b03ef13992bed3e408/jdyyaac/075b/560e/515a/01d7ceed01adc38a2402f0bce5efa4fa.m4a

    用瀏覽器直接瀏覽,可播放歌曲

    也就是可以用python來(lái)訪問(wèn)這個(gè)網(wǎng)址

    #導(dǎo)入庫(kù)(框架,模塊) import requests#1.確定url(網(wǎng)址,統(tǒng)一資源定位)地址 url = "https://m801.music.126.net/20191203211801/8a4fe99967c7a8b03ef13992bed3e408/jdyyaac/075b/560e/515a/01d7ceed01adc38a2402f0bce5efa4fa.m4a"#2.請(qǐng)求 music=requests.get(url).content#4.保存 #后面的wb,是允許寫(xiě)入二進(jìn)制的 with open('mysic.m4a','wb') as file:file.write(music)

    https://www.jianshu.com/p/c00df845323c with as 用法

    下載成功

    如果要下整個(gè)歌單,這種方法肯定是不行的
    這是一場(chǎng)爬蟲(chóng)與反爬蟲(chóng)的較量

    看到headers
    為post請(qǐng)求,肯定會(huì)被加密
    如圖網(wǎng)址為外鏈地址

    不過(guò)有個(gè)外鏈轉(zhuǎn)化工具幫我們解決一切

    干起來(lái)

    #導(dǎo)入庫(kù)(框架,模塊) import requests from lxml import etree#1.確定url(網(wǎng)址,統(tǒng)一資源定位)地址,歌單地址,利用xpath得到每首歌的外鏈地址 url="https://music.163.com/playlist?id=10702884" base_url='https://link.hhtjim.com/163/' headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', }#2.請(qǐng)求 result=requests.get(url,headers=headers).text#3.刪選數(shù)據(jù) dom=etree.HTML(result) ids = dom.xpath('//a[contains(@href,"/song?")]/@href') #print(ids) #https://link.hhtjim.com/163/347230.mp3 for songid in ids:#print(songid)count_id=songid.strip('/song?id=')#print(count_id)if ('$' in count_id) == False:music_url = base_url+'%s'%count_id+'.mp3'print(music_url)music=requests.get(music_url).content#4.保存with open('./music_wangyi/%s.mp3'%count_id,'wb') as file:file.write(music)

    下載成功
    Vip的也可以下載,不過(guò)很容易被發(fā)現(xiàn),但我們只是為了學(xué)習(xí)而已

    總結(jié)

    以上是生活随笔為你收集整理的python 爬取网易云音乐歌单的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。