1. CMS首页
  2. 技术杂文

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)<br>

发表评论

用户名: