吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 32035|回复: 208
上一主题 下一主题
收起左侧

[学习记录] 酷我音乐下载 (改版)

    [复制链接]
跳转到指定楼层
楼主
redballoon 发表于 2023-3-28 15:13 回帖奖励
本帖最后由 redballoon 于 2023-3-28 15:26 编辑

酷我音乐下载(改版)

在逛论坛时偶然发现一位佬写了一个酷我音乐的下载器,我复制到本地后发现,过了挺长时间了竟还可以用,

根据他代码中的下载接口,我做了些修改,使得能够抓取所有歌曲。

这是那位大佬的文章地址 :

python学习 酷我音乐免费下载(已打包为exe)
https://www.52pojie.cn/thread-1732328-1-1.html
(出处: 吾爱破解论坛)

闲话少说:
下载前记得把cookie换了,是不需要登录的。

# _*_ coding: utf-8 _*_
# @Time: 2023/3/27 20:54
# @Author: 🎈
# @File: demo
import requests
import os
import re
from urllib import request
from urllib.parse import quote
import time
import random

"""
音频下载接口:
https://www.kuwo.cn/api/v1/www/music/playUrl?mid=440616&type=flac&httpsStatus=
https://www.kuwo.cn/api/v1/www/music/playUrl?mid={music_id}&type=flac&httpsStatus=1&reqId=80b33650-8a62-11ed-a069-8d99eba73f2a
"""

kw = input('请输入歌曲查询词: ')
base_url = f'https://kuwo.cn/search/list?key={quote(kw)}'
session = requests.Session()
resp = session.get(base_url).cookies
headers = {
    'Cookie': f"_ga=GA1.2.829244407.1679920212; _gid=GA1.2.444121110.1679920212; SL_G_WPT_TO=zh; SL_GWPT_Show_Hide_tmp=1; SL_wptGlobTipTmp=1; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1679920211,1679921402; _gat=1; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1679923723; kw_token={resp.get('kw_token')}",
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36',
    'Referer': base_url,
    'csrf': resp.get('kw_token'),
}

def get_ids(url):
    """获取搜索结果的歌曲id"""
    try:
        with session.get(url, headers=headers) as response:
            if response.status_code == 200:
                print(response.cookies.get('kw_token'))  # kw_token  cookie中携带的
                json_data = response.json()
            else:
                return 'code error!'
    except ConnectionError as e:
        print('error: ', e)
        raise e

    items = json_data['data']['list']
    for item in items:
        name = item['name']
        rid = item['rid']
        yield name, rid

def download(music_name, music_id):
    d_url = f'https://www.kuwo.cn/api/v1/www/music/playUrl?mid={music_id}&type=flac&httpsStatus=1&reqId=80b33650-8a62-11ed-a069-8d99eba73f2a'
    response = requests.get(d_url, headers=headers)
    result = response.json()
    play_url = result.get("data").get("url")

    # 获取当前路径并创建文件夹
    path = os.getcwd()
    folder_path = os.path.join(path, kw)
    os.path.exists(folder_path) or os.mkdir(folder_path)
    music_name = re.sub(r'[\\/:\*\?"<>\|]', '', music_name)  # 去除文件名可能出现的非法字符
    file_path = os.path.join(folder_path, music_name + '.mp3')

    # 下载音乐
    # request.urlretrieve(play_url, file_path)

    print(f'{music_name} >>> Download completed')
    music_content = requests.get(play_url).content
    with open(file_path, mode='wb')as f:
        f.write(music_content)

def scrape_index(page):
    url = f'https://kuwo.cn/api/www/search/searchMusicBykeyWord?key={quote(kw)}&pn={page}&rn=20&httpsStatus=1'
    return get_ids(url)

def main():
    # sleep_time = [random.uniform(1, 3) for i in range(10)]  # 在1-3之间随机返回一个数
    # for page in range(8, 18):
    #     print(f'开始下载第{page}页')
    #     # url = f'https://kuwo.cn/api/www/search/searchMusicBykeyWord?key={quote(kw)}&pn={page}&rn=20&httpsStatus=1'
    #     g_data = scrape_index(page)
    #     time.sleep(random.choice(sleep_time))
    #     for n, i in g_data:
    #         download(n, i)

    # 不考虑歌曲数量
    page = 1
    sleep_time = [random.uniform(1, 3) for i in range(10)]  # 在1-3之间随机返回一个数
    while True:
        print(f'开始下载第{page}页')
        g_data = scrape_index(page)
        time.sleep(random.choice(sleep_time))
        for n, i in g_data:
            download(n, i)
        page += 1

if __name__ == '__main__':
    main()

觉得还不错的话,厚脸皮要个菜币😂,菜币少,看到喜欢的都不敢大手大脚。

结果:

免费评分

参与人数 74吾爱币 +70 热心值 +61 收起 理由
xiong721 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
jiang8681 + 1 + 1 我很赞同!
MrZ0973 + 1 + 1 谢谢@Thanks!
久别话凉 + 1 已经处理,感谢您对吾爱破解论坛的支持!
qianwantong + 1 + 1 我很赞同!
cnljczx + 1 我很赞同!
寻天 + 1 + 1 我很赞同!
mayongcai + 1 我很赞同!
zhoujianhua9968 + 1 + 1 用心讨论,共获提升!
fanhui412 + 1 + 1 谢谢@Thanks!
yixinyixi + 1 我很赞同!
invest8090 + 1 + 1 谢谢@Thanks!
Qa2016 + 1 鼓励转贴优秀软件安全工具和文档!
15324023732 + 1 + 1 我很赞同!
a451688 + 1 + 1 用心讨论,共获提升!
lanren7 + 1 + 1 谢谢@Thanks!
lym596 + 1 我很赞同!
44018723 + 1 + 1 谢谢@Thanks!
jiujian118 + 1 + 1 谢谢@Thanks!
chenchao2200 + 1 谢谢@Thanks!
hlq1251 + 1 + 1 热心回复!
公爵大人 + 1 看看看还能用
zzc0235 + 1 我很赞同!
7917492 + 1 + 1 我很赞同!
wumozhongjun + 1 我很赞同!
glid + 1 + 1 我很赞同!
假装在伦敦 + 1 + 1 谢谢@Thanks!
bobwaihui + 1 + 1 热心回复!
tengaiweiwei + 1 用心讨论,共获提升!
passkv + 1 + 1 谢谢@Thanks!
GoodDoctor + 1 + 1 谢谢@Thanks!
shsr + 1 + 1 我很赞同!
gdkpzm + 1 + 1 我很赞同!
wobushiliyana + 1 我很赞同!
kk1212 + 1 + 1 谢谢@Thanks!
乄Spectre乄 + 1 + 1 谢谢@Thanks!
meveqq410 + 1 + 1 谢谢@Thanks!
yanwentao0803 + 1 我很赞同!
jomo + 1 + 1 用心讨论,共获提升!
dzhenhua0919 + 1 + 1 我很赞同!
lxlx5602 + 1 + 1 谢谢@Thanks!
Mr.Cs + 1 + 1 鼓励转贴优秀软件安全工具和文档!
Joie + 1 + 1 用心讨论,共获提升!
alade1341663893 + 1 + 1 热心回复!
jyyzfk + 1 热心回复!
aaa4757900 + 1 + 1 我很赞同!
gxnn3867 + 1 谢谢@Thanks!
ytferris2023 + 1 + 1 我很赞同!
kaikai002 + 1 谢谢@Thanks!
baoshijie546 + 1 + 1 我很赞同!
zyt68565334 + 1 热心回复!
fsjsyg + 1 谢谢@Thanks!
qdntj + 1 我很赞同!
qfbjp + 1 + 1 谢谢@Thanks!
水沉雾 + 1 + 1 我很赞同!
song0064 + 1 + 1 我很赞同!
sunww + 1 + 1 热心回复!
chuncui + 1 我很赞同!
topliliang + 1 + 1 用心讨论,共获提升!
billsmiless + 3 + 1 我对你只有瑞思拜!!!
bai521777 + 1 + 1 谢谢@Thanks!
xlh + 1 + 1 谢谢@Thanks!
小溪住森林 + 1 + 1 谢谢@Thanks!
wsl429824303 + 1 + 1 我很赞同!
jamessteed + 1 + 1 谢谢@Thanks!
城市丶美 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
laoda1228 + 1 + 1 把最下面那行字放大,要不都看不到。
小傲宇 + 1 + 1 多来点,一起进步
mengfang1 + 1 + 1 谢谢@Thanks!
mengbai666 + 1 + 1 我很赞同!
weihai0631 + 1 + 1 我很赞同!
旅行者 + 1 + 1 热心回复!
realma2014 + 1 + 1 谢谢@Thanks!
xlcomputer + 2 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

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

沙发
xingyunliushui 发表于 2023-3-28 15:17
试一下 好久没有下载歌曲了
头像被屏蔽
3#
ruanyang1 发表于 2023-3-28 15:17
4#
 楼主| redballoon 发表于 2023-3-28 15:19 |楼主
5#
wsck63304521 发表于 2023-3-28 15:29
我还有个酷我音乐SVIP版,可以下载任何音乐

免费评分

参与人数 4吾爱币 +4 热心值 +3 收起 理由
back300 + 1 + 1 谢谢@Thanks!
zyb1535 + 1 用心讨论,共获提升!
灯下黑 + 1 + 1 谢谢@Thanks!
大河奔流 + 1 + 1 赞一个!

查看全部评分

6#
Appelle2017 发表于 2023-3-28 15:33
厉害了!!!
7#
 楼主| redballoon 发表于 2023-3-28 15:34 |楼主
wsck63304521 发表于 2023-3-28 15:29
我还有个酷我音乐SVIP版,可以下载任何音乐

这个一样可以下载所有,包括vip
8#
donglch 发表于 2023-3-28 15:36
嗯嗯,网上有kuwo解锁会员版,可以随意下载
9#
gxnn3867 发表于 2023-3-28 15:37
厉害&#128077;&#128077;
10#
YopyChan 发表于 2023-3-28 15:38
还是有技术在哪都能吃的上饭压
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 22:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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