import requests
from lxml import etree
url='https://music.163.com/playlist?id=7238513086'
base_url='http://music.163.com/song/media/outer/url?id='
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36 Edg/101.0.1210.32'
}
html_yuanma=requests.get(url=url,headers=headers).text
html_dom=etree.HTML(html_yuanma)
song_names=html_dom.xpath('//a[contains(@href,"song?")]/text()')
song_ids=html_dom.xpath('//a[contains(@href,"song?")]/@href')
for song_names,song_ids in zip(song_names,song_ids):
count_id=song_ids.strip("/song?id=")
if('$' in count_id)==False:
song_url=base_url+count_id
song_m4a=requests.get(url=song_url).content
song_path=f"./yinyue/{song_names}.mp3".strip()
with open(song_path,'wb') as f:
f.write(song_m4a)
爬取的是这个歌单