使用如下脚本打印歌单信息:encoding=utf8importrequestsfrombs4importBeautifulSoupimporturllib.requestheaders={'Referer':'http://music.163.com/','Host':'music.163.com','User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/62.0.3202.75Safari/537.36','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',}play_url='http://music.163.com/播放列表...'s=requests.session()response=s.get(play_url,headers=headers).contents=BeautifulSoup(response,'lxml')main=s.find('ul',{'class':'f-hide'})formusicinmain.find_all('a'):print('{}:{}'.format(music.text,music['href']))完整代码encoding=utf8importrequestsfrombs4importBeautifulSoupimporturllib.requestheaders={'Referer':'http://music.163.com/','Host':'music.163.com','User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/62.0.3202.75Safari/537.36','accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',}#播放列表的url地址play_url='http://music.163.com/playlist...'#获取页面内容s=requests.session()response=s.get(play_url,headers=headers).content用bs4匹配对应的歌曲名地址s=BeautifulSoup(response,'lxml')main=s.find('ul',{'class':'f-hide'})lists=[]formusicinmain.find_all('a'):list=[]#print('{}:{}'.format(music.text,music['href']))musicUrl='http://music.163.com/song/med...'+music['href'][5:]+'.mp3'musicName=music.text#将单首歌曲的名称和地址放入列表listlist.append(musicName)list.append(musicUrl)#将所有歌曲信息放入inlistsLists.append(list)print(lists)#下载列表中的所有歌曲,并以歌曲名称命名下载的文件。文件位置是当前文件夹。外汇MT4教程https://www.kaifx.cn/mt4.htmlforiinlists:url=i[1]name=i[0]try:print('Downloading',name)urllib.request.urlretrieve(url,'./music/%s.mp3'%name)print('下载成功')except:print('下载失败')展开代码再贴一个大佬实现爬取网易云歌单音乐的代码:importlibraryimportrequestsfromfake_useragentimportUserAgentfromlxmlimportetreeimportre网易云官网搜索薛之谦跳转到网页后查看网络doc,发现网页的RequestURL:https://music.163.com/artist?...1.确认url地址(薛之谦的歌单)url='https://音乐。163.com/artist?...'网易云音乐外链base_url='https://link.hhtjim.com/163/'2.Requestheaders={"User-Agent":UserAgent().chrome}result=requests.get(url,headers=headers).text#print(result)3.删除选中的数据,获取列表中的歌曲id。是一个字典,里面有每首歌的iddom=etree.HTML(result)#通过查看元素,发现在xpath语句中对每首歌进行了xpath解析,得到所有的歌曲id是'//a[contains(@href,"/song?")]/@href'ids=dom.xpath('//ul[@class="f-hide"]//li/a/@href')对数据进行分片只需要id值正则表达式foriinrange(len(ids)):ids[i]=re.sub('\D','',ids[i])print(ids)foriinrange(len(ids)):每首歌的地址M_url=f'https://music.163.com/song?id={ids[i]}'response=requests.get(M_url,headers=headers)html=etree.HTML(response.text)music_info=html.xpath('//title/text()')print(music_info)#['我好像在哪里见过你(电影主题曲)-薛之谦-单曲-网易云音乐']music_name=music_info[0].split('-')[0]singer=music_info[0].split('-')[1]print(music_name,singer)#我好像在哪里见过你(电影《精灵王座》主题曲)薛之谦获取歌曲源music_url=base_url+str(ids[i])+'.mp3'print(music_url)#打印出每首歌的外链urlmusic=requests.get(music_url).content4,savewithopen('./music/'+music_name+'.mp3','wb')asfile:file.write(music)print("正在下载第一个"+str(i+1)+":"+music_name+歌手)
