Python爬咪咕收费音乐 高音质无损音乐
本帖最后由 克达尔 于 2020-6-18 22:43 编辑使用python + requests 通过抓包 iphone的咪咕客户端
咪咕ios版本 6.9.9
像这也收费的歌曲 一样可以抓到他flac格式和 m4a 格式 无损音质歌曲
上代码
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()
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('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的哦, 通过浏览器或者下载工具是下载不下来的, 必须替换
只要能在咪咕搜索到的音乐基本上是都能下载下来的.
最后 我通过flask 把这个包装了一下 使用docker 发布到阿里云服务器上, 这个就可以通过网页的方式更好的下载了
https://bilibili.syyhc.com/mp3.html 欢迎各位体验
好像不行了
克达尔 发表于 2020-6-20 14:53
我对requests.session的封装, 直接使用requests.get(url, params) 就可以
提示我这个:
{
"code":"411",
"info":"参数异常"
}
null
Process finished with exit code 0
好奇怪。 挺不错的 就是不能批量下载还有下载还要重命名哈哈哈哈 高手,真的厉害。 前排。已测试,下载正常。 测试下载正常不错 厉害啊 大神,不知道可以用多久 已测试,可在线,可下载,厉害了楼主. qinghuan 发表于 2020-6-17 21:44
厉害啊 大神,不知道可以用多久
以前我我也爬过, 那时候的接口没有做什么限制,拿到链接就可以下载, 现在对参数做了加密和时间戳的签名, 而且链接改成ftp的形式, 我想能不能把之前的链接替换一下能, 没成想还真成了 阿狸主题曲 发表于 2020-6-17 21:26
不行,加载不出来,并发量一上来就撑不住了
是的 看了一下, 这半个小时都进来了100多ip