|
"""
|
|
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
|
|
|