鱼C论坛

 找回密码
 立即注册
查看: 3105|回复: 8

[技术交流] 用python下载酷我音乐

[复制链接]
发表于 2021-1-25 12:59:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 鱼与熊掌w 于 2021-1-25 13:01 编辑

import os
import requests


class KuWomusic():
    def __init__(self):
        self.headers2 = {
            'Referer': 'https://kuwo.cn/',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',
        }
        self.headers = {
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
            'Connection': 'keep-alive',
            'Cookie': 'kw_token=WPVJHJO2KD',
            'csrf': 'WPVJHJO2KD',
            'Host': 'kuwo.cn',
            'Sec-Fetch-Dest': 'empty',
            'Sec-Fetch-Mode': 'cors',
            'Sec-Fetch-Site': 'same-origin',
            'Referer': 'https://kuwo.cn/search/list'
        }
        self.singer = []
        self.song = []
        self.rid = []
        self.songTimeMinutes = []
        self.url = []

    def search(self):
        key = input('请输入想听的歌:')
        url_0 = "https://kuwo.cn/api/www/search/searchMusicBykeyWord?key={0}&pn=1&rn=30&httpsStatus=1&reqId=88432c31-fe6f-11ea-bfec-2f45c636f613".format(
            key)
        res_0 = requests.get(url_0, headers=self.headers)
        res_0 = res_0.json()
        music_list = res_0["data"]["list"]
        ip = 0
        for music in music_list:
            singer = music["artist"]
            song = music["name"]
            rid = music["rid"]
            songTimeMinutes = music["songTimeMinutes"]

            self.singer.append(singer)
            self.song.append(song)
            self.rid.append(rid)
            self.songTimeMinutes.append(songTimeMinutes)
        self.select()

    def select(self):
        ip = 0
        for song, singer, rid, songTimeMinutes in zip(self.song, self.singer, self.rid, self.songTimeMinutes):
            print(ip, song, singer, songTimeMinutes)
            ip += 1
        ip = input("请输入序号:")
        ip = int(ip)
        song = self.song[ip]
        singer = self.singer[ip]
        rid = self.rid[ip]

        self.download(song, singer, rid)

    def download(self, song, singer, rid):
        url_1 = 'https://kuwo.cn/url?format=mp3&rid={0}&response=url&type=convert_url3&br=320kmp3&from=web&t=1600959341055&httpsStatus=1&reqId=03bd6000-fe76-11ea-a79c-9575039ac1cf'.format(
            rid)
        response = requests.get(url_1, headers=self.headers)
        dict = response.json()
        url = dict['url']
        music = requests.get(url, headers=self.headers2).content
        dir = os.getcwd()
        dir = os.path.join(dir, "酷我音乐 ")
        if not os.path.exists(dir):
            os.mkdir(dir)  # 构造文件夹
        os.chdir(dir)  # 将下载的歌曲存储在该文件夹
        print(song, singer)
        file_name = song + '-' + singer + '.mp3'  # 文件名
        with open(file_name, 'wb') as f:
            f.write(music)
        print("下载成功!")


if __name__ == '__main__':
    music = KuWomusic()
    music.search()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-13 16:36:53 | 显示全部楼层
npnp
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-16 14:16:36 | 显示全部楼层
怎么无法运行呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-24 09:37:25 | 显示全部楼层

是没有下载requests模块?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-7-6 00:20:13 | 显示全部楼层
牛逼啊牛逼啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-7 12:16:48 | 显示全部楼层
可以可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-30 14:34:24 | 显示全部楼层
厉害,niubility
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-12 09:30:43 | 显示全部楼层
你这个代码挺牛的 ,我试了好用,能不能再写一个酷狗歌曲搜索下载呢?或者说那个下载很难这写。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-6 16:00:11 | 显示全部楼层
能找到歌曲,按序号后,自动关闭了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 19:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表