API¶
NullbrSDK 类¶
- class nullbr.NullbrSDK(app_id: str, api_key: str = None, base_url: str = 'https://api.nullbr.com/', max_retries: int = 3, backoff_factor: float = 1.0, user_agent: str = None)[源代码]¶
基类:
object初始化 Nullbr SDK
- 参数:
app_id -- App ID
api_key -- API Key (可选,获取具体资源时需要)
base_url -- base URL (default: https://api.nullbr.com/)
max_retries -- 最大重试次数 (default: 3)
backoff_factor -- 重试的指数等待时间 单位秒 (default: 1.0)
user_agent -- 自定义User-Agent (default: NULLBR_PYTHON/version)
- get_collection(tmdbid: int) CollectionResponse[源代码]¶
获取电影合集详细信息
- 参数:
tmdbid -- 合集的TMDB ID
- 返回:
CollectionResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
- get_collection_115(tmdbid: int, page: int = 1) Collection115Response[源代码]¶
获取电影合集网盘资源
- 参数:
tmdbid -- 合集的TMDB ID
page -- 页码,默认为1
- 返回:
Collection115Response 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_list(listid: int, page: int = 1) ListResponse[源代码]¶
获取列表详细信息
- 参数:
listid -- 列表id
page -- 页码,默认为1
- 返回:
ListResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
- get_movie(tmdbid: int) MovieResponse[源代码]¶
获取电影详细信息
- 参数:
tmdbid -- 电影的TMDB ID
- 返回:
MovieResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
- get_movie_115(tmdbid: int, page: int = 1) Movie115Response[源代码]¶
获取电影网盘资源
- 参数:
tmdbid -- 电影的TMDB ID
page -- 页码,默认为1
- 返回:
Movie115Response 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_movie_ed2k(tmdbid: int) MovieEd2kResponse[源代码]¶
获取电影电驴资源
- 参数:
tmdbid -- 电影的TMDB ID
- 返回:
MovieEd2kResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_movie_magnet(tmdbid: int) MovieMagnetResponse[源代码]¶
获取电影磁力资源
- 参数:
tmdbid -- 电影的TMDB ID
- 返回:
MovieMagnetResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_movie_video(tmdbid: int) MovieVideoResponse[源代码]¶
获取电影video资源(m3u8/http)
- 参数:
tmdbid -- 电影的TMDB ID
- 返回:
MovieVideoResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_tv(tmdbid: int) TVResponse[源代码]¶
获取剧集详细信息
- 参数:
tmdbid -- 剧集的TMDB ID
- 返回:
TVResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
- get_tv_115(tmdbid: int, page: int = 1) TV115Response[源代码]¶
获取剧集网盘资源
- 参数:
tmdbid -- 剧集的TMDB ID
page -- 页码,默认为1
- 返回:
TV115Response 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_tv_episode(tmdbid: int, season_number: int, episode_number: int) TVEpisodeResponse[源代码]¶
获取剧集单集详细信息
- 参数:
tmdbid -- 剧集的TMDB ID
season_number -- 季数
episode_number -- 集数
- 返回:
TVEpisodeResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
- get_tv_episode_ed2k(tmdbid: int, season_number: int, episode_number: int) TVEpisodeEd2kResponse[源代码]¶
获取剧集单集ed2k资源
- 参数:
tmdbid -- 剧集的TMDB ID
season_number -- 季数
episode_number -- 集数
- 返回:
TVEpisodeEd2kResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_tv_episode_magnet(tmdbid: int, season_number: int, episode_number: int) TVEpisodeMagnetResponse[源代码]¶
获取剧集单集磁力资源
- 参数:
tmdbid -- 剧集的TMDB ID
season_number -- 季数
episode_number -- 集数
- 返回:
TVEpisodeMagnetResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_tv_episode_video(tmdbid: int, season_number: int, episode_number: int) TVEpisodeVideoResponse[源代码]¶
获取剧集单集video资源(m3u8/http)
- 参数:
tmdbid -- 剧集的TMDB ID
season_number -- 季数
episode_number -- 集数
- 返回:
TVEpisodeVideoResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_tv_season(tmdbid: int, season_number: int) TVSeasonResponse[源代码]¶
获取剧集单季详细信息
- 参数:
tmdbid -- 剧集的TMDB ID
season_number -- 季数
- 返回:
TVSeasonResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
- get_tv_season_magnet(tmdbid: int, season_number: int) TVSeasonMagnetResponse[源代码]¶
获取剧集季磁力资源
- 参数:
tmdbid -- 剧集的TMDB ID
season_number -- 季数
- 返回:
TVSeasonMagnetResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- get_user_info() UserInfoResponse[源代码]¶
获取当前用户的订阅信息和配额使用情况
- 返回:
UserInfoResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- redeem_user_code(code: str) UserRedeemResponse[源代码]¶
使用提示码兑换订阅升级
- 参数:
code -- 提示码
- 返回:
UserRedeemResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
ValueError -- 当未设置API KEY时
- search(query: str, page: int = 1) SearchResponse[源代码]¶
搜索合集、电影、剧集、人物
- 参数:
query -- 搜索关键词
page -- 页码,默认为1
- 返回:
SearchResponse 对象
- 抛出:
requests.exceptions.HTTPError -- 当API返回非200状态码时
数据模型¶
基础模型¶
搜索模型¶
电影模型¶
- class nullbr.models.movie.Movie115Item(title: str, size: str, share_link: str, resolution: str | None = None, quality: str | list[str] | None = None, season_list: list[str] | None = None)[源代码]¶
基类:
object115云盘电影资源项目
分享链接
- class nullbr.models.movie.Movie115Response(id: int, media_type: str, page: int, total_page: int, items: list[Movie115Item])[源代码]¶
基类:
object电影115云盘资源响应模型
- items: list[Movie115Item]¶
115云盘资源列表
- class nullbr.models.movie.MovieEd2kItem(name: str, size: str, ed2k: str, resolution: str, source: str | None, quality: str | list[str], zh_sub: int)[源代码]¶
基类:
object电影ed2k链接项目
- class nullbr.models.movie.MovieEd2kResponse(id: int, media_type: str, ed2k: list[MovieEd2kItem])[源代码]¶
基类:
object电影ed2k链接响应模型
- ed2k: list[MovieEd2kItem]¶
ed2k链接列表
- class nullbr.models.movie.MovieMagnetItem(name: str, size: str, magnet: str, resolution: str, source: str, quality: str | list[str], zh_sub: int)[源代码]¶
基类:
object电影磁力链接项目
- class nullbr.models.movie.MovieMagnetResponse(id: int, media_type: str, magnet: list[MovieMagnetItem])[源代码]¶
基类:
object电影磁力链接响应模型
- magnet: list[MovieMagnetItem]¶
磁力链接列表
- class nullbr.models.movie.MovieResponse(id: int, poster: str, title: str, overview: str, vote: float, release_date: str, has_115: bool, has_magnet: bool, has_ed2k: bool, has_video: bool)[源代码]¶
基类:
object电影详情响应模型
电视剧模型¶
- class nullbr.models.tv.TV115Response(id: int, media_type: str, page: int, total_page: int, items: list[Movie115Item])[源代码]¶
基类:
object电视剧115云盘资源响应模型
- items: list[Movie115Item]¶
115云盘资源列表
- class nullbr.models.tv.TVEd2kItem(name: str, size: str, ed2k: str, resolution: str, source: str, quality: str, zh_sub: bool)[源代码]¶
基类:
object电视剧ed2k链接项目模型
- class nullbr.models.tv.TVEpisodeEd2kResponse(tv_show_id: int, season_number: int, episode_number: int, media_type: str, ed2k: list[TVEd2kItem])[源代码]¶
基类:
object电视剧剧集ed2k链接响应模型
- ed2k: list[TVEd2kItem]¶
ed2k链接列表
- class nullbr.models.tv.TVEpisodeMagnetResponse(tv_show_id: int, season_number: int, episode_number: int, media_type: str, magnet: list[TVMagnetItem])[源代码]¶
基类:
object电视剧剧集磁力链接响应模型
- magnet: list[TVMagnetItem]¶
磁力链接列表
- class nullbr.models.tv.TVEpisodeResponse(tv_show_id: int, season_number: int, episode_number: int, episode_type: str, name: str, overview: str, air_date: str, vote_average: float, poster: str, poseter: str, runtime: int, has_magnet: bool, has_ed2k: bool)[源代码]¶
基类:
object电视剧剧集响应模型
- class nullbr.models.tv.TVEpisodeVideoResponse(tv_show_id: int, season_number: int, episode_number: int, media_type: str, video: list[TVVideoItem])[源代码]¶
基类:
object电视剧剧集在线视频响应模型
- video: list[TVVideoItem]¶
在线视频列表
- class nullbr.models.tv.TVMagnetItem(name: str, size: str, magnet: str, resolution: str, source: str, quality: str, zh_sub: bool)[源代码]¶
基类:
object电视剧磁力链接项目模型
- class nullbr.models.tv.TVResponse(id: int, poster: str, title: str, overview: str, vote: float, release_date: str, number_of_seasons: int, has_115: bool, has_magnet: bool, has_ed2k: bool, has_video: bool)[源代码]¶
基类:
object电视剧详情响应模型
- class nullbr.models.tv.TVSeasonMagnetResponse(id: int, season_number: int, media_type: str, magnet: list[TVMagnetItem])[源代码]¶
基类:
object电视剧季度磁力链接响应模型
- magnet: list[TVMagnetItem]¶
磁力链接列表
合集模型¶
- class nullbr.models.collection.Collection115Response(id: int, media_type: str, page: int, total_page: int, items: list[Movie115Item])[源代码]¶
基类:
object合集115云盘资源响应模型
- items: list[Movie115Item]¶
115云盘资源列表