File size: 1,788 Bytes
0aee47a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
"""

bilibili_api.homepage



主页相关操作。

"""

from typing import Union

from .utils.utils import get_api
from .utils.credential import Credential
from .utils.network import Api

API = get_api("homepage")


async def get_top_photo() -> dict:
    """

    获取主页最上方的图像。

    例如:b 站的风叶穿行,通过这个 API 获取的图片就是风叶穿行的图片。



    Returns:

        调用 API 返回的结果。

    """
    api = API["info"]["top_photo"]
    params = {"resource_id": 142}
    return await Api(**api).update_params(**params).result


async def get_links(credential: Union[Credential, None] = None):
    """

    获取主页左面的链接。

    可能和个人喜好有关。



    Args:

        credential (Credential | None): 凭据类



    Returns:

        调用 API 返回的结果

    """
    api = API["info"]["links"]
    params = {"pf": 0, "ids": 4694}
    return await Api(**api, credential=credential).update_params(**params).result


async def get_popularize(credential: Union[Credential, None] = None):
    """

    获取推广的项目。

    (有视频有广告)



    Args:

        credential(Credential | None): 凭据类



    Returns:

        调用 API 返回的结果

    """
    api = API["info"]["popularize"]
    params = {"pf": 0, "ids": 34}
    return await Api(**api, credential=credential).update_params(**params).result


async def get_videos(credential: Union[Credential, None] = None):
    """

    获取首页推荐的视频。



    Args:

        credential (Credential | None): 凭据类



    Returns:

        调用 API 返回的结果

    """
    api = API["info"]["videos"]
    return await Api(**api, credential=credential).result