跳转至

album

专辑相关 API

get_cover

get_cover(mid: str, size: Literal[150, 300, 500, 800] = 300) -> str

获取专辑封面链接

PARAMETER DESCRIPTION
mid

专辑 mid

TYPE: str

size

封面大小

TYPE: Literal[150, 300, 500, 800] DEFAULT: 300

RETURNS DESCRIPTION
str

封面链接

Source code in qqmusic_api/album.py
def get_cover(mid: str, size: Literal[150, 300, 500, 800] = 300) -> str:
    """获取专辑封面链接

    Args:
        mid: 专辑 mid
        size: 封面大小

    Returns:
        封面链接
    """
    if size not in [150, 300, 500, 800]:
        raise ValueError("not supported size")
    return f"https://y.gtimg.cn/music/photo_new/T002R{size}x{size}M000{mid}.jpg"

get_detail async

get_detail(value: str | int)

获取专辑详细信息

PARAMETER DESCRIPTION
value

专辑 id 或 mid

TYPE: str | int

Source code in qqmusic_api/album.py
@api_request("music.musichallAlbum.AlbumInfoServer", "GetAlbumDetail")
async def get_detail(value: str | int):
    """获取专辑详细信息

    Args:
        value: 专辑 id 或 mid
    """
    if isinstance(value, int):
        return {"albumId": value}, NO_PROCESSOR

    return {"albumMId": value}, NO_PROCESSOR

get_song async

get_song(value: str | int, num: int = 10, page: int = 1)

获取专辑歌曲

PARAMETER DESCRIPTION
value

专辑 id 或 mid

TYPE: str | int

num

返回数量

TYPE: int DEFAULT: 10

page

页码

TYPE: int DEFAULT: 1

Source code in qqmusic_api/album.py
@api_request("music.musichallAlbum.AlbumSongList", "GetAlbumSongList")
async def get_song(value: str | int, num: int = 10, page: int = 1):
    """获取专辑歌曲

    Args:
        value: 专辑 id 或 mid
        num: 返回数量
        page: 页码
    """
    params: dict[str, Any] = {
        "begin": num * (page - 1),
        "num": num,
    }

    def _processor(data: dict[str, Any]) -> list[dict[str, Any]]:
        return [song["songInfo"] for song in data["songList"]]

    if isinstance(value, int):
        params["albumId"] = value
    else:
        params["albumMid"] = value

    return params, _processor