python網絡爬蟲&&爬取網易雲音樂


#爬取網易雲音樂

url="https://music.163.com/discover/toplist" #歌單連接地址

url2 = 'http://music.163.com/song/media/outer/url?id='#歌曲地址
headers={#請求報頭
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'}
req=Request(url,headers=headers) #使用戶可以訪問該網站,認為你是瀏覽器,而不是爬蟲
with urlopen(req) as html:#
text=html.read().decode('utf-8') #讀取文件並且解碼
doc=etree.HTML(text) #解析HTML文檔
links=doc.xpath("//ul[@class='f-hide']/li/a/@href")#獲取歌曲id
songs=doc.xpath("//ul[@class='f-hide']/li/a/text()")#獲取歌曲名
ids = [ link[9::] for link in links] #切片工具只取id名部分
for sid,title in zip(ids,songs): #遍歷 zip包一一對應
time.sleep(1) #間隔一秒
req2 = Request(url2 + str(sid),headers=headers) #歌曲地址加上id名
with urlopen(req2) as html: #在html中打開加載好的歌曲href
urlretrieve(html.geturl(),"songs/%s.mp3"%title)#獲取geturl到歌曲信息,將歌曲下載到文件songs中
print("songs/%s.mp3 下載完成"%title)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM