首页 编程教程正文

[Python]下载网易云歌单歌曲,新人作品

piaodoo 编程教程 2020-02-22 22:14:48 1292 0 python教程

本文来源吾爱破解论坛

本帖最后由 GPUS少东 于 2020-1-25 21:19 编辑
最近自学python,这是我的第一个成品,可以下载自己创建的网易云歌单,目前还仅仅只是实现这个功能,没有定义函数,也没有加入异常处理的部分,目前还在学。

下载速度有些慢,目前还不会多线程
下面是我的代码,还请多多指教,轻喷。



[Python] 纯文本查看 复制代码
import urllib.request
import re
import os
import requests
from tqdm import tqdm

#获取url
url = input('url:') 
#传入headers
header = {'authority': 'https://music.163.com/',
    'user-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36',}
#获得网页源码
r = requests.get(url, headers=header).text
#获得歌单名
title = re.search(r'>(.+)</h2>', r).group(1)
#获得歌曲列表[('id', 'name')]
songList = re.findall(r'/song\?id=(\d+)">(.+?)</a>', r)

print('歌单:', title)

#API源于:https://github.com/messoer(原作者要求)
API = 'https://v1.itooi.cn/netease/url?quality=flac&id='
#创建[歌单名]文件夹
if os.path.exists(title) == False:
    os.mkdir(title)
#下载
for i in tqdm(songList):
    #歌名合法化
    rule = '[\\s\\\\/:\\*\\?\\\"<>\\|]'
    musicName = re.sub(rule, '-', i[1])
    #路径+歌名
    Name = '.\\' + title + '\\' + musicName
    #获取下载链接
    Url = API + i[0]
    #获取真实链接
    song = urllib.request.urlopen(Url)
    #判断后缀
    try :
        if (song.geturl()[-3:]) == 'lac' :
        #加后缀
            flac = Name + '.flac'
        #下载
            urllib.request.urlretrieve(Url, flac)
        else :
            mp3 = Name + '.mp3'
            urllib.request.urlretrieve(Url, mp3)
本帖被以下淘专辑推荐: · 值得学习|主题: 97, 订阅: 21

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7925.html

搜索