声明:这个只是用来学习的,要适度,要不然会被封号的!!!

运行代码后的效果图:
在这里插入图片描述
在这里插入图片描述
代码如下:

from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get('https://music.163.com/#/playlist?id=2829844572')
time.sleep(2)

iframe=driver.find_element_by_id('g_iframe')
driver.switch_to.frame(iframe)

parent=driver.find_element_by_id('m-playlist')

tbody=parent.find_element_by_tag_name('tbody')

trs=tbody.find_elements_by_tag_name('tr')

data=[]

for index,each in enumerate(trs):
    #序号
    num=each.find_element_by_class_name('num').text
    href=each.find_elements_by_tag_name('td')[1].find_element_by_tag_name('a').get_attribute('href')
    name=each.find_elements_by_tag_name('td')[1].find_element_by_tag_name('b').get_attribute('title')
    singer = each.find_elements_by_tag_name('td')[3].find_element_by_tag_name('div').get_attribute('title')

    data.append([num,href,name,singer])

#============================================下载歌曲======================================
from urllib import request
for each in data[3:]:
   # 音乐的id
   song_id=each[1].split('=')[-1]
   song_href=f'http://music.163.com/song/media/outer/url?id={song_id}.mp3'
   song_name=f'mp3/{each[0]}-{each[2]}.mp3'
   print(f'正在下载第{each[0]}首')
   request.urlretrieve(song_href,song_name)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐