python代码示例下载-Python下载网易云歌单歌曲的示例代码

今天写了个下载脚本,记录一下

效果:

2020081214072727.png

直接上代码:

# 网易云 根据歌单链接下载MP3歌曲

import requests

from bs4 import BeautifulSoup

def main():

url = "https://music.163.com/#/playlist?id=3136952023" # 歌单地址 请自行更换

if '/#/' in url:

url = url.replace('/#/', '/')

headers = {

'Referer': 'http://music.163.com/',

'Host': 'music.163.com',

'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

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(i.a.get('href'))[str(i.a.get('href')).find('=') + 1:-1] + str(i.a.get('href'))[-1])

fatherlis.append(sonlis)

except:

print(" 歌曲链接输入错误")

exit('ERROR!')

format = '{0:<10} {1:{3}<10} {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], 'http://music.163.com/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 = "https://link.hhtjim.com/163/" # 外链地址

song_url = wurl + song_id + ".mp3"

# 获取歌曲16进制编码

song = requests.get(song_url).content

# 获取歌曲名称

# 保存文件

with open(file + song_name + '.mp3', 'wb') as f:

f.write(song)

if __name__ == '__main__':

main()

cookie获取方式

登录网易云web版 https://music.163.com/

2020081214072728.png

复制粘贴到上方代码中,开始下载就好了

到此这篇关于Python下载网易云歌单歌曲的示例代码的文章就介绍到这了,更多相关Python下载网易云歌单内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值