Python下载⽹易云歌单歌曲的⽰例代码
今天写了个下载脚本,记录⼀下
效果:
直接上代码:
# ⽹易云根据歌单链接下载MP3歌曲
import requests
from bs4 import BeautifulSoup
def main():
url = "music.163/#/playlist?id=3136952023" # 歌单地址请⾃⾏更换
if '/#/' in url:
url = place('/#/', '/')
headers = {
'Referer': 'music.163/',
'Host': 'music.163',
'cookie': '⾃⼰去⽹站拿,获取⽅式在下边',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
}
s = requests.session()
try:
response = s.get(url, headers=headers).content
session下载soup = BeautifulSoup(response, 'lxml')
lis = list(soup.find('ul'))
fatherlis = ['歌单名:' + str(soup.find('h2').string)]
for i in lis:
sonlis = []
sonlis.append(str(len(fatherlis)) + '.')
sonlis.append(i.a.string)
sonlis.append(str(('href'))[str(('href')).find('=') + 1:-1] + str(('href'))[-1])
fatherlis.append(sonlis)
except:
print("\n\t歌曲链接输⼊错误")
exit('ERROR!')
format = '{0:<10}\t{1:{3}<10}\t{2:<10}'
print("从'{}'中到了{}条歌曲".format(str(soup.find('h2').string), len(fatherlis) - 1))
print('-------------------------------------------------------------------------------------------------')
print('序号歌曲名称歌曲链接')
for i in fatherlis:
if fatherlis.index(i) == 0:
continue
else:
print(
format.format(i[0], i[1], 'music.163/song/media/outer/url?id=' + i[2] + '.mp3', chr(12288)))
download_music(i[2],i[1])
print('>>>>>#下载完成>>>>>#')
# 歌曲下载
def download_music(song_id,song_name):
file = "./music/" # 保存⾳乐的⽂件路径
wurl = "link.hhtjim/163/" # 外链地址
song_url = wurl + song_id + ".mp3"
# 获取歌曲16进制编码
song = (song_url).content
# 获取歌曲名称
# 保存⽂件
with open(file + song_name + '.mp3', 'wb') as f:
f.write(song)
if __name__ == '__main__':
main()
cookie获取⽅式
复制粘贴到上⽅代码中,开始下载就好了
到此这篇关于Python下载⽹易云歌单歌曲的⽰例代码的⽂章就介绍到这了,更多相关Python下载⽹易云歌单内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
BT下载加速小技巧
下一篇 »
发表评论