吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

[Python 转载] Python爬咪咕收费音乐 高音质无损音乐

  [复制链接]
克达尔 发表于 2020-6-17 21:09
本帖最后由 克达尔 于 2020-6-18 22:43 编辑

使用python + requests 通过抓包 iphone的咪咕客户端

咪咕ios版本 6.9.9

3481592398780_.pic.jpg

像这也收费的歌曲 一样可以抓到他flac格式和 m4a 格式 无损音质歌曲

上代码
[Python] 纯文本查看 复制代码
def migu_search(keyword, page=1):
    params = {
        'feature': '1111000000',
        'isCopyright': 1,
        'isCorrect': 1,
        'pageIndex': page,
        'pageSize': 20,
        'searchSwitch':'{"song":1,"album":0,"singer":0,"tagSong":1,"mvSong":0,"songlist":0,"bestShow":1,"lyricSong":0,"concert":0,"periodical":0,"ticket":0,"bit24":0,"verticalVideoTone":0}',
        'sort': 0,
        'text': keyword,
        'uiVersion': 'I_music_3.0.2',
    }
    response = Api.request('http://jadeite.migu.cn:7090/music_search/v2/search/searchAll', "GET", params)
    res_data = response.get('songResultData', {}).get("resultList", [])
    print(json.dumps(res_data))
    result = []
    for items in res_data:
        for item in items:
            singers = ','.join([s.get("name", "") for s in item.get('singers')])
            song = {
                'song_name': item.get('name'),
                'singers': singers
            }
            rate_list = item.get('rateFormats', [])
            urls = {}
            for x in rate_list:
                if len(x.get('url', "")) > 0:
                    urls[x.get('formatType')] = x.get('url').replace('ftp://218.200.160.122:21', 'http://freetyst.nf.migu.cn')
                else:
                    format_type = x.get('formatType')
                    if format_type == 'SQ':
                        urls['SQ-flac'] = x.get('androidUrl').replace('ftp://218.200.160.122:21', 'http://freetyst.nf.migu.cn')
                        urls['SQ-m4a'] = x.get('iosUrl').replace('ftp://218.200.160.122:21', 'http://freetyst.nf.migu.cn')
                song['urls'] = urls
            result.append(song)
    return result

if __name__ == '__main__':
    r = migu_search("周杰伦", 1)
    print(json.dumps(r, indent=4))


通过接口爬去出来的音频地址是ftp的哦, 通过浏览器或者下载工具是下载不下来的, 必须替换
parse-migu.png

只要能在咪咕搜索到的音乐基本上是都能下载下来的.

最后 我通过flask 把这个包装了一下 使用docker 发布到阿里云服务器上, 这个就可以通过网页的方式更好的下载了  

https://bilibili.syyhc.com/mp3.html 欢迎各位体验

ss.png

免费评分

参与人数 17吾爱币 +17 热心值 +15 收起 理由
洛欢欢 + 1 + 1 谢谢@Thanks!
飞羽abss + 1 热心回复!
zcconly + 1 我很赞同!
祀尘 + 1 + 1 我很赞同!
Shadowzz + 1 + 1 我很赞同!
0001 + 2 + 1 谢谢@Thanks!
hj170520 + 1 + 1 谢谢@Thanks!
enncvi + 1 + 1 谢谢@Thanks!
killua2011 + 1 我很赞同!
_小白 + 1 + 1 我很赞同!
Seat0n + 1 + 1 今天的分给你啦 太厉害了
cocococ + 1 + 1 今天就你最秀。
qinghuan + 1 + 1 热心回复!
iwon + 1 + 1 我很赞同!
vethenc + 1 + 1 谢谢@Thanks!
app740520 + 1 + 1 谢谢@Thanks!
宁丹妮 + 1 + 1 热心回复!

查看全部评分

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

rudder 发表于 2021-2-13 20:28
好像不行了
hj170520 发表于 2020-6-20 15:49
克达尔 发表于 2020-6-20 14:53
我对requests.session的封装, 直接使用requests.get(url, params) 就可以

提示我这个:
{
        "code":"411",
        "info":"参数异常"
}
null

Process finished with exit code 0
好奇怪。
miss小小鱼 发表于 2020-6-17 21:16
挺不错的 就是不能批量下载还有下载还要重命名哈哈哈哈
walili 发表于 2020-6-17 21:17
高手,真的厉害。
宁丹妮 发表于 2020-6-17 21:18
前排。已测试,下载正常。
iwon 发表于 2020-6-17 21:26
测试下载正常不错  
头像被屏蔽
阿狸主题曲 发表于 2020-6-17 21:26
提示: 作者被禁止或删除 内容自动屏蔽
qinghuan 发表于 2020-6-17 21:44
厉害啊 大神,不知道可以用多久
呆头大哥 发表于 2020-6-17 21:54
已测试,可在线,可下载,厉害了楼主.
 楼主| 克达尔 发表于 2020-6-17 21:54
qinghuan 发表于 2020-6-17 21:44
厉害啊 大神,不知道可以用多久

以前我我也爬过, 那时候的接口没有做什么限制,拿到链接就可以下载, 现在对参数做了加密和时间戳的签名, 而且链接改成ftp的形式, 我想能不能把之前的链接替换一下能, 没成想还真成了
 楼主| 克达尔 发表于 2020-6-17 21:58
阿狸主题曲 发表于 2020-6-17 21:26
不行,加载不出来,并发量一上来就撑不住了

是的 看了一下, 这半个小时都进来了100多ip
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-1-16 08:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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