python下载自己网易云歌单的歌曲

1.登录网页端网易云,复制cookie
2.输入歌单ID(就是后面的一串数字)
3.运行
网页端访问别人歌单只能看到20首歌,太难了,加上cookie还能访问自己的,还不错,虽然是标准音质

# -*- coding:utf-8 -*-
import requests
import re
import os

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.54',
    'Referer': 'https://music.163.com/',
    'Cookie': '你的cookie',
}



try:
    os.mkdir('音乐')
except FileExistsError:
    print('创建失败,文件夹已存在')


# 歌单
def get_id(music_list):
    res = requests.get(url=music_list.replace('#/', ''), headers=header).text
    for i, j in re.findall(r'<a href="/song\?id=(\d+)">(.*?)</a>', res):  # 遍历匹配的对象
        name = re.sub(r'[\\:*?"<>|/]', ' ', j)
        music_url = 'http://music.163.com/song/media/outer/url?id=' + i + '.mp3'
        download(name, music_url)


# 解析链接
def download(name, music_url):
    response_url = requests.get(music_url, headers=header).url
    try:
        if len(response_url) != 25:
            response = requests.get(music_url, headers=header).content
            with open('音乐/' + name + '.mp3', 'wb') as f:
                f.write(response)
            f.close()
            print(name + '下载完成')
        else:
            print(name + '出错了,可能是付费或者无版权歌曲')
    except:
        print('未知错误:')
        print('歌曲名字:' + name, '歌曲外链' + music_url)
        pass


if __name__ == '__main__':
    ids = input('请输入歌单链接后面的ID:')
    urls = 'https://music.163.com/#/playlist?id=' + ids
    get_id(urls)
    print('结束')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值