MusicDownload icon indicating copy to clipboard operation
MusicDownload copied to clipboard

无损下载下来发现不是真正无损

Open djapple opened this issue 1 year ago • 20 comments

下载下来的无损歌曲,从频谱分析只能达到了MP3 320Kbps 通过酷我下载的无损和QQFLACMUSICDOWNLOAD下载同一首歌频谱对比确实只有320Kbps 请作者修复下此问题

djapple avatar Oct 17 '23 04:10 djapple

没懂 酷我下的音源不是flac?

QiuChenly avatar Oct 17 '23 05:10 QiuChenly

QQFlacMusicDownloader下载QQ音乐的歌曲下下来格式是FLAC,但是实际是MP3 320KBPS

djapple avatar Oct 17 '23 09:10 djapple

目前程序已经用不了了

ggotost1990 avatar Oct 18 '23 02:10 ggotost1990

目前程序已经用不了了

没有吧,还能用

Huibq avatar Oct 20 '23 05:10 Huibq

谎报军情的都杀了

QiuChenly avatar Oct 20 '23 05:10 QiuChenly

目前程序已经用不了了

没有吧,还能用

今天用不了了,QQ接口已挂 错误细节:下载失败,解析服务器返回403错误代码。 下载失败,无法加载资源文件!解析歌曲下载地址失败! None

ClareDuan avatar Oct 23 '23 04:10 ClareDuan

目前程序已经用不了了

没有吧,还能用

今天用不了了,QQ接口已挂 错误细节:下载失败,解析服务器返回403错误代码。 下载失败,无法加载资源文件!解析歌曲下载地址失败! None

上午弄好了,下了两首歌 下午也403错误了

Kev1nT avatar Oct 23 '23 06:10 Kev1nT

接口的确挂了 软件真的不错 希望作者大大还能维护 感恩🥹

Zzzz-1996 avatar Oct 23 '23 07:10 Zzzz-1996

大家可以提交其他接口 我找不到新接口了

QiuChenly avatar Oct 23 '23 08:10 QiuChenly

界面和UI一样吗? 所以“后端”有问题或“前端”?

VoidVampire avatar Oct 23 '23 08:10 VoidVampire

界面和UI一样吗? 所以“后端”有问题或“前端”?

没看懂

QiuChenly avatar Oct 23 '23 09:10 QiuChenly

啊,忘了吧 我正在使用它 Google Translate :sweat:

VoidVampire avatar Oct 23 '23 09:10 VoidVampire

sad. but u can say EnLang with me.

QiuChenly avatar Oct 23 '23 11:10 QiuChenly

Ah, got it. I google translated past messages and in one of them you said there issue with "interface". So I was curious if the project backend is broken? Also, is there any ETA for making this project work?

VoidVampire avatar Oct 23 '23 11:10 VoidVampire

Ah, got it. I google translated past messages and in one of them you said there issue with "interface". So I was curious if the project backend is broken? Also, is there any ETA for making this project work?

I think the "interface" you said should be means Api.

haiwei1991 avatar Oct 24 '23 01:10 haiwei1991

yep. until now this project depend on use some 3rd private Server to get the VIP Permission Musics.i mean : the project not hack or other Magic code to illegal access target Server(e.g. Music163 / Tencent QQ Music), so when the 3rd private server got any error or offline, we can't got any resource of music.

so, we need any have vip permission user account's cookie or any 3rd private server to resolution VIP music file on target Music Server(like Tencent QQ Music or 163 Netease Music), otherwise the project will can't get normal work.

QiuChenly avatar Oct 24 '23 02:10 QiuChenly

大家可以提交其他接口 我找不到新接口了

我找到一个接口,但是无法通过mid获取

import requests


# 网站  https://music.ghxi.com/


# 1.先获取到解锁密码
# 2.再通过解锁密码给cookie权限
# 3.再通过搜索获取到songid(不知道是什么id,不像是qq音乐上的,我猜是加密的mid),再用songid获取到播放链接


# 通过小程序的接口获取到密码
def getpassworld():
    return requests.get("https://ghxcx.lovestu.com/api/index/today_secret").json()['data']


# 通过获取到的密码给cookie权限,但是权限过段时间会失效,具体多长时间我也不知道,
def unlockcookie(passwd):
    url = "https://music.ghxi.com/wp-admin/admin-ajax.php"

    payload = 'action=gh_music_ajax&type=postAuth&code={}'.format(passwd)
    headers = {
        'dnt': '1',
        'origin': 'https://music.ghxi.com',
        'referer': 'https://music.ghxi.com',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.76',
        'Cookie': 'PHPSESSID=8q5nff3m73fo88p6ms0d907j4m',
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Accept': '*/*',
        'Host': 'music.ghxi.com',
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)


def guohe(musicname):
    ghheaders = {
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'cookie': 'PHPSESSID=8q5nff3m73fo88p6ms0d907j4m',
        'origin': 'https://music.ghxi.com',
        'referer': 'https://music.ghxi.com/',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.76',
    }

    ghurl = "https://music.ghxi.com/wp-admin/admin-ajax.php"
    payload = {
        "action": "gh_music_ajax",
        "type": "search",
        "music_type": "qq",
        "search_word": musicname,
    }

    ghinfojson = requests.request("POST", ghurl, headers=ghheaders, data=payload).json()
    # 搜索到的歌曲信息
    print(ghinfojson)

    ghdata = {
        "action": "gh_music_ajax",
        "type": "getMusicUrl",
        "music_size": "flac",
        "music_type": "qq",
        "songid": ghinfojson['data'][0]['songid'],#第一首歌
    }
    ghjson = requests.post(ghurl, data=ghdata, headers=ghheaders).json()
    if ghjson['code'] == 200:
        return ghjson
    return False


if __name__ == '__main__':
    passwd = getpassworld()
    unlockcookie(passwd)
    print(guohe("周杰伦晴天"))

lieternity avatar Oct 24 '23 04:10 lieternity

@haiwei1991 @QiuChenly oh API issue, got it!!

VoidVampire avatar Oct 24 '23 04:10 VoidVampire

大家可以提交其他接口 我找不到新接口了

我找到一个接口,但是无法通过mid获取

import requests


# 网站  https://music.ghxi.com/


# 1.先获取到解锁密码
# 2.再通过解锁密码给cookie权限
# 3.再通过搜索获取到songid(不知道是什么id,不像是qq音乐上的,我猜是加密的mid),再用songid获取到播放链接


# 通过小程序的接口获取到密码
def getpassworld():
    return requests.get("https://ghxcx.lovestu.com/api/index/today_secret").json()['data']


# 通过获取到的密码给cookie权限,但是权限过段时间会失效,具体多长时间我也不知道,
def unlockcookie(passwd):
    url = "https://music.ghxi.com/wp-admin/admin-ajax.php"

    payload = 'action=gh_music_ajax&type=postAuth&code={}'.format(passwd)
    headers = {
        'dnt': '1',
        'origin': 'https://music.ghxi.com',
        'referer': 'https://music.ghxi.com',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.76',
        'Cookie': 'PHPSESSID=8q5nff3m73fo88p6ms0d907j4m',
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Accept': '*/*',
        'Host': 'music.ghxi.com',
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)


def guohe(musicname):
    ghheaders = {
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'cookie': 'PHPSESSID=8q5nff3m73fo88p6ms0d907j4m',
        'origin': 'https://music.ghxi.com',
        'referer': 'https://music.ghxi.com/',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.76',
    }

    ghurl = "https://music.ghxi.com/wp-admin/admin-ajax.php"
    payload = {
        "action": "gh_music_ajax",
        "type": "search",
        "music_type": "qq",
        "search_word": musicname,
    }

    ghinfojson = requests.request("POST", ghurl, headers=ghheaders, data=payload).json()
    # 搜索到的歌曲信息
    print(ghinfojson)

    ghdata = {
        "action": "gh_music_ajax",
        "type": "getMusicUrl",
        "music_size": "flac",
        "music_type": "qq",
        "songid": ghinfojson['data'][0]['songid'],#第一首歌
    }
    ghjson = requests.post(ghurl, data=ghdata, headers=ghheaders).json()
    if ghjson['code'] == 200:
        return ghjson
    return False


if __name__ == '__main__':
    passwd = getpassworld()
    unlockcookie(passwd)
    print(guohe("周杰伦晴天"))

哦 看错了 有别的参数信息吗 比如说 "music_size": "flac",

    "music_type": "qq",这些字段

QiuChenly avatar Oct 24 '23 05:10 QiuChenly

不知道了,前端的东西不多

lieternity avatar Oct 24 '23 11:10 lieternity