吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7819|回复: 36
收起左侧

[Python 转载] 音乐爬虫-酷我

  [复制链接]
哈_喽 发表于 2020-10-30 12:57
酷我比较简单,没啥好说的。不涉及参数加密。代码如下
[Python] 纯文本查看 复制代码
#coding=utf-8
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()

免费评分

参与人数 7吾爱币 +8 热心值 +7 收起 理由
LIBAIDDD + 1 + 1 用心讨论,共获提升!
maverick43 + 1 + 1 我很赞同!
fstar22 + 1 鼓励转贴优秀软件安全工具和文档!
qq9953 + 1 谢谢@Thanks!
wdxddszl + 1 + 1 虽然简单,但是学起来很nice,非常有成就感!感谢楼主的分享,让咱学了不少.
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
凉米饭 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

南岸 发表于 2020-10-30 13:52
尘世聚散 发表于 2020-10-30 13:30
也就这点能耐吧 除了动酷我  其他的都没辙。

老键盘侠了,人家本着学习分享,又不是比技术
hack_wangyu 发表于 2020-10-30 13:35
尘世聚散 发表于 2020-10-30 13:30
也就这点能耐吧 除了动酷我  其他的都没辙。

你有能耐你倒是来啊
wendy123 发表于 2020-10-30 13:49
尘世聚散 发表于 2020-10-30 13:30
也就这点能耐吧 除了动酷我  其他的都没辙。

造福大家的事情,为啥你要喷人?
Snprszy 发表于 2020-10-30 13:23
感谢分享!
十八岁开宝马 发表于 2020-10-30 13:26

感谢分享!
smbliss 发表于 2020-10-30 13:33
感谢分享,学习一下
宿醉的秃子 发表于 2020-10-30 13:36
尘世聚散 发表于 2020-10-30 13:30
也就这点能耐吧 除了动酷我  其他的都没辙。

打嘴炮 你可以
耿国富 发表于 2020-10-30 13:45
种瓜得瓜种豆得豆
枫叶飞向海 发表于 2020-10-30 13:55
总是有些键盘侠
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 19:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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