|
"""
|
|
bilibili_api.hot
|
|
|
|
热门相关 API
|
|
"""
|
|
|
|
from .utils.utils import get_api
|
|
from .utils.network import Api
|
|
|
|
API_rank = get_api("rank")
|
|
API = get_api("hot")
|
|
|
|
|
|
async def get_hot_videos(pn: int = 1, ps: int = 20) -> dict:
|
|
"""
|
|
获取热门视频
|
|
|
|
Args:
|
|
pn (int): 第几页. Default to 1.
|
|
|
|
ps (int): 每页视频数. Default to 20.
|
|
|
|
Returns:
|
|
dict: 调用 API 返回的结果
|
|
"""
|
|
api = API_rank["info"]["hot"]
|
|
params = {"ps": ps, "pn": pn}
|
|
return await Api(**api).update_params(**params).result
|
|
|
|
|
|
async def get_weekly_hot_videos_list() -> dict:
|
|
"""
|
|
获取每周必看列表(仅概述)
|
|
|
|
Returns:
|
|
调用 API 返回的结果
|
|
"""
|
|
api = API_rank["info"]["weekly_series"]
|
|
return await Api(**api).result
|
|
|
|
|
|
async def get_weekly_hot_videos(week: int = 1) -> dict:
|
|
"""
|
|
获取一周的每周必看视频列表
|
|
|
|
Args:
|
|
week(int): 第几周. Default to 1.
|
|
|
|
Returns:
|
|
dict: 调用 API 返回的结果
|
|
"""
|
|
api = API_rank["info"]["weekly_details"]
|
|
params = {"number": week}
|
|
return await Api(**api).update_params(**params).result
|
|
|
|
|
|
async def get_history_popular_videos() -> dict:
|
|
"""
|
|
获取入站必刷 85 个视频
|
|
|
|
Returns:
|
|
dict: 调用 API 返回的结果
|
|
"""
|
|
api = API_rank["info"]["history_popular"]
|
|
params = {"page_size": 85, "page": 1}
|
|
return await Api(**api).update_params(**params).result
|
|
|
|
|
|
async def get_hot_buzzwords(page_num: int = 1, page_size: int = 20) -> dict:
|
|
"""
|
|
获取热词图鉴信息
|
|
|
|
Args:
|
|
page_num (int): 页码. Defaults to 1.
|
|
|
|
page_size (int): 每一页的数据大小. Defaults to 20.
|
|
|
|
Returns:
|
|
dict: 调用 API 返回的结果
|
|
"""
|
|
api = API["buzzwords"]
|
|
params = {"pn": page_num, "ps": page_size, "type_id": 4}
|
|
return await Api(**api).update_params(**params).result
|
|
|