生活随笔
收集整理的這篇文章主要介紹了
Python爬虫下载网易云音乐歌曲
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python爬蟲下載網易云音樂歌曲
使用爬蟲的流程:
(1) 輸入想要下載的歌曲歌名
(2) 在歌曲列表中找到要下載的歌曲
(3) 輸入對應歌曲ID
(4) 成功下載到本地
打印出來的列表
最后那欄數字就是歌曲ID
import requests
import os
if not os
.path
.exists
('./musicLibs'):os
.mkdir
('./musicLibs')
import re
from selenium
import webdriver
from selenium
.webdriver
.chrome
.options
import Options
chrome_options
= Options
()
chrome_options
.add_argument
('--headless')
chrome_options
.add_argument
('--disable-gpu')
headers
= {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'
}
vip
= input('請輸入歌名:')
url_1
= 'https://music.163.com/#/search/m/?s=' + vip
+ '&type=1'
browser
= webdriver
.Chrome
(executable_path
='chromedriver.exe',options
=chrome_options
)
browser
.get
(url
=url_1
)
browser
.switch_to
.frame
('g_iframe')
page_text
= browser
.execute_script
("return document.documentElement.outerHTML")
browser
.quit
()
ex1
= '<a.*?id="([0-9]*?)"'
ex2
= '<b.*?title="(.*?)"><span class="s-fc7">'
ex3
= 'class="td w1"><div.*?class="text"><a.*?href=".*?">(.*?)</a></div></div>'
id_list
= re
.findall
(ex1
,page_text
,re
.M
)[::2]
song_list
= re
.findall
(ex2
,page_text
,re
.M
)
singer_list
= re
.findall
(ex3
,page_text
,re
.M
)
li
= list(zip(song_list
,singer_list
,id_list
))
for i
in range(len(li
)):print(str(i
+1) + '.' + str(li
[i
]),end
='\n')
ID
=input("請輸入歌曲ID:")
url_2
= 'http://music.163.com/song/media/outer/url?id=' + ID
+ '.mp3'
audio_content
= requests
.get
(url
=url_2
,headers
=headers
).content
name
='./musicLibs'+'/'+vip
+'.mp3'
with open(name
,'wb') as f
:f
.write
(audio_content
)
print("拿下!")
總結
以上是生活随笔為你收集整理的Python爬虫下载网易云音乐歌曲的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。