Package: nicovideo.py
nicovideo.pyWhat's thisニコニコ動画に投稿された動画の情報を取得するライブラリです。動画をダウンロードすることはできません。使い方初期設定Python3を使える環境を作り、こんな感じにインストールしてください。python3-mpipinstallnicovideo.py情報取得このようにすると、動画やユーザーの情報を取得できます。importnicovideo# 動画: sm9（新・豪血寺一族 -煩悩解放 - レッツゴー！陰陽師）sm9=nicovideo.Video.get_metadata("sm9")print(f"タイトル:{sm9.title}")print(f"再生数:{sm9.counts.views}")# ユーザー: user/9003560（くりたしげたか）kurita=nicovideo.User.get_metadata(9003560)print(f"ニックネーム:{kurita.nickname}")print(f"ユーザーレベル:{kurita.user_level}")クラス・関数やその返り値など凡例:class クラス名(初期化時の引数: 型ヒント = デフォルト値, ...)def   関数名(引数: 型ヒント = デフォルト値, ...) -> 返り値型ヒントclass Video()動画のクラスです。(classmethod) def Video.get_metadata(videoid: str, *, use_cache: bool = False) -> Video.Metadata動画のメタデータを取得するメソッドです。class Video.Metadata(...)動画のメタデータを格納するクラスです。Video.get_metadata()の返り値です。インスタンス変数一覧:videoid    : str                             = 動画ID
title      : str                             = 動画タイトル
description: str                             = 動画概要
owner      : Video.Metadata.User             = 投稿者
counts     : Video.Metadata.Counts           = 各種カウンター
duration   : int                             = 動画長（秒）
postdate   : datetime.datetime               = 投稿日時
genre      : Optional[Video.Metadata.Genre]  = ジャンル
tags       : list[Video.Metadata.Tag]        = タグ一覧
ranking    : Video.Metadata.Ranking          = ランキングデータ
series     : Optional[Video.Metadata.Series] = シリーズ
thumbnail  : Video.Metadata.Thumbnail        = サムネイル
url        : str                             = 視聴URL
rawdict    : dict                            = サーバーから取得した加工前生データ（デバッグ用）def Video.Metadata.refresh() -> None自分自身を更新する関数です。class Video.Metadata.User(...)ユーザーのクラスです。投稿者などを表します。（User.Metadataクラスの簡易版です。）インスタンス変数一覧:nickname: str = ユーザーニックネーム
userid  : int = ユーザーIDdef Video.Metadata.User.get_metadata() -> User.MetadataVideo.Metadata.UserインスタンスをUser.Metadataインスタンスに変換します。class Video.Metadata.Counts(...)各種カウンターのクラスです。再生数などのカウンターを表します。インスタンス変数一覧:comments: int = コメント数
likes   : int = いいね！数
mylists : int = マイリスト数
views   : int = 再生数class Video.Metadata.Genre(...)ジャンルのクラスです。インスタンス変数一覧:label: str = ジャンル名
key  : str = ジャンルの内部識別キーclass Video.Metadata.Tag(...)タグのクラスです。インスタンス変数一覧:name  : str  = タグ名
locked: bool = タグロックclass Video.Metadata.Ranking(...)ランキングのクラスです。インスタンス変数一覧:genreranking: Optional[Video.Metadata.Ranking.Genre] = ジャンルのランキング情報
tagrankings : list[Video.Metadata.Ranking.Tag]       = タグ別のランキング情報class Video.Metadata.Ranking.Genre(...)ジャンル別ランキングを格納するクラスです。インスタンス変数一覧:genre: Video.Metadata.Genre = ジャンル
rank : int                  = ランキング最高順位
time : datetime.datetime    = 順位獲得日時class Video.Metadata.Ranking.Tag(...)タグ別ランキングを格納するクラスです。インスタンス変数一覧:tag : Video.Metadata.Tag = タグ
rank: int                = ランキング最高順位
time: datetime.datetime  = 順位獲得日時class Video.Metadata.Series(...)シリーズのクラスです。seriesid   : int             = シリーズID
title      : str             = シリーズタイトル
description: str             = シリーズ概要
thumbnail  : str             = サムネイルURL
prev_video : Optional[Video] = 前動画
next_video : Optional[Video] = 次動画
first_video: Optional[Video] = 最初の動画class Video.Metadata.Thumbnail(...)サムネイル画像のクラスです。small_url : str = サムネイル（小）URL
middle_url: str = サムネイル（中）URL
large_url : str = サムネイル（大）URL
player_url: str = サムネイル（プレイヤー用）URL
ogp_url   : str = サムネイル（OGP表示用）URLclass User()ユーザーのクラスです。(classmethod) def User.get_metadata(userid: int, detail: str = "videolist", *, use_cache: bool = False) -> User.Metadataユーザーのメタデータを取得するメソッドです。注意事項: 返り値のUser.Metadataインスタンスの変数の型はdetail引数によって変わります。detail = "videolist"の場合:
  videolist: list[User.Metadata.Video]
detail = "minimal"  の場合:
  videolist: EllipsisTypeclass User.Metadata(...)動画のメタデータを格納するクラスです。User.get_metadata()の返り値です。インスタンス変数一覧:nickname          : str                                    = ユーザーニックネーム
userid            : int                                    = ユーザーID
description       : User.Metadata.Description              = ユーザー説明欄（bio）
user_type         : Literal["Premium", "General"]          = ユーザータイプ（Premium/General）
registered_version: str                                    = 登録時バージョン
follow            : int                                    = フォロー数
follower          : int                                    = フォロワー数
user_level        : int                                    = ユーザーレベル
user_exp          : int                                    = ユーザーEXP
sns               : list[User.Metadata.SNS.User]           = SNS連携情報
cover             : Optional[User.Metadata.Cover]          = カバー画像
icon              : User.Metadata.UserIcon                 = アイコン画像
videolist         : list[User.Metadata.Video]|EllipsisType = 投稿動画一覧
rawdict           : dict                                   = サーバーから取得した加工前生データ（デバッグ用）def User.Metadata.refresh() -> None自分自身を更新する関数です。class User.Metadata.Description(...)ユーザーの説明文(bio)です。インスタンス変数一覧:description_html : str = 説明欄（text/html）
description_plain: str = 説明欄（text/plain）class User.Metadata.SNS(...)ユーザーのプロフィールに載ってるSNSについてのクラスです。class User.Metadata.SNS.Service(...)SNSサービスの名称とかアイコンとかです。インスタンス変数一覧:name: str = SNSサービス名称
key : str = SNSのタイプ
icon: str = SNSのロゴ（PNGファイルのURL）class User.Metadata.SNS.User(...)SNSユーザーについてのクラスです。インスタンス変数一覧:service: User.Metadata.SNS.Service = SNSサービス
name   : str                       = SNSユーザー名
url    : str                       = SNSプロフィールURLclass User.Metadata.Cover(...)ユーザーのカバー画像についてのクラスです。インスタンス変数一覧:ogp: str = OGP用カバー画像URL
pc : str = PCサイズカバー画像URL
sp : str = SP（スマートフォン）サイズカバー画像class User.Metadata.UserIcon(...)ユーザーアイコンについてのクラスです。インスタンス変数一覧:small: str = ユーザーアイコン（小）URL
large: str = ユーザーアイコン（大）URLclass User.Metadata.Video(...)動画のクラスです。投稿動画などを表します。（Video.Metadataクラスの簡易版です。）インスタンス変数一覧:videoid : str
title   : str
owner   : Video.Metadata.User  # User.Metadataではない
counts  : Video.Metadata.Counts
duration: int
postdate: datetime.datetime
series  : Video.Metadata.Seriesdef User.Metadata.Video.get_metadata() -> Video.MetadataUser.Metadata.VideoインスタンスをVideo.Metadataインスタンスに変換します。License適用ライセンス: LGPL 3.0Copyright © 2023 okaits#7534