本文来源吾爱破解论坛
本帖最后由 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 谢谢。