nicovideo.py


Namenicovideo.py JSON
Version 3.1.2 PyPI version JSON
download
home_page
SummaryGet nicovideo's video metadata.
upload_time2023-09-24 15:55:36
maintainer
docs_urlNone
author
requires_python
licenseGNU Lesser General Public License 3.0
keywords nicovideo
VCS
bugtrack_url
requirements beautifulsoup4 json5
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # nicovideo.py
## What's this
ニコニコ動画に投稿された動画の情報を取得するライブラリです。動画をダウンロードすることはできません。

## 使い方
### 初期設定
Python3を使える環境を作り、こんな感じにインストールしてください。

```bash
python3 -m pip install nicovideo.py
```

### 情報取得
このようにすると、動画やユーザーの情報を取得できます。

```python3
import nicovideo

# 動画: 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 = ユーザーID
```

###### `def Video.Metadata.User.get_metadata() -> User.Metadata`
`Video.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表示用)URL
```

### `class 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: EllipsisType
```

#### `class 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プロフィールURL
```

##### `class User.Metadata.Cover(...)`
ユーザーのカバー画像についてのクラスです。  
  
インスタンス変数一覧:
```
ogp: str = OGP用カバー画像URL
pc : str = PCサイズカバー画像URL
sp : str = SP(スマートフォン)サイズカバー画像
```

##### `class User.Metadata.UserIcon(...)`
ユーザーアイコンについてのクラスです。  
  
インスタンス変数一覧:
```
small: str = ユーザーアイコン(小)URL
large: str = ユーザーアイコン(大)URL
```

##### `class 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.Series
```

###### `def User.Metadata.Video.get_metadata() -> Video.Metadata`
`User.Metadata.Video`インスタンスを`Video.Metadata`インスタンスに変換します。

# License
適用ライセンス: LGPL 3.0  
Copyright © 2023 okaits#7534

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "nicovideo.py",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "nicovideo",
    "author": "",
    "author_email": "okaits#7534 <okaits@okaits7534.net>",
    "download_url": "https://files.pythonhosted.org/packages/bf/c6/d0dc9505f7d63f7df4a487967504bbefaee2fb80036d4f7bd3fc6ab6263f/nicovideo.py-3.1.2.tar.gz",
    "platform": null,
    "description": "# nicovideo.py\n## What's this\n\u30cb\u30b3\u30cb\u30b3\u52d5\u753b\u306b\u6295\u7a3f\u3055\u308c\u305f\u52d5\u753b\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002\u52d5\u753b\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\n\n## \u4f7f\u3044\u65b9\n### \u521d\u671f\u8a2d\u5b9a\nPython3\u3092\u4f7f\u3048\u308b\u74b0\u5883\u3092\u4f5c\u308a\u3001\u3053\u3093\u306a\u611f\u3058\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n```bash\npython3 -m pip install nicovideo.py\n```\n\n### \u60c5\u5831\u53d6\u5f97\n\u3053\u306e\u3088\u3046\u306b\u3059\u308b\u3068\u3001\u52d5\u753b\u3084\u30e6\u30fc\u30b6\u30fc\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002\n\n```python3\nimport nicovideo\n\n# \u52d5\u753b: sm9\uff08\u65b0\u30fb\u8c6a\u8840\u5bfa\u4e00\u65cf -\u7169\u60a9\u89e3\u653e - \u30ec\u30c3\u30c4\u30b4\u30fc\uff01\u9670\u967d\u5e2b\uff09\nsm9 = nicovideo.Video.get_metadata(\"sm9\")\nprint(f\"\u30bf\u30a4\u30c8\u30eb: {sm9.title}\")\nprint(f\"\u518d\u751f\u6570: {sm9.counts.views}\")\n\n# \u30e6\u30fc\u30b6\u30fc: user/9003560\uff08\u304f\u308a\u305f\u3057\u3052\u305f\u304b\uff09\nkurita = nicovideo.User.get_metadata(9003560)\nprint(f\"\u30cb\u30c3\u30af\u30cd\u30fc\u30e0: {kurita.nickname}\")\nprint(f\"\u30e6\u30fc\u30b6\u30fc\u30ec\u30d9\u30eb: {kurita.user_level}\")\n\n```\n\n## \u30af\u30e9\u30b9\u30fb\u95a2\u6570\u3084\u305d\u306e\u8fd4\u308a\u5024\u306a\u3069\n\u51e1\u4f8b:  \n`class \u30af\u30e9\u30b9\u540d(\u521d\u671f\u5316\u6642\u306e\u5f15\u6570: \u578b\u30d2\u30f3\u30c8 = \u30c7\u30d5\u30a9\u30eb\u30c8\u5024, ...)`  \n`def   \u95a2\u6570\u540d(\u5f15\u6570: \u578b\u30d2\u30f3\u30c8 = \u30c7\u30d5\u30a9\u30eb\u30c8\u5024, ...) -> \u8fd4\u308a\u5024\u578b\u30d2\u30f3\u30c8`\n\n### `class Video()`\n\u52d5\u753b\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002\n\n#### `(classmethod) def Video.get_metadata(videoid: str, *, use_cache: bool = False) -> Video.Metadata`\n\u52d5\u753b\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002  \n\n#### `class Video.Metadata(...)`\n\u52d5\u753b\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u683c\u7d0d\u3059\u308b\u30af\u30e9\u30b9\u3067\u3059\u3002`Video.get_metadata()`\u306e\u8fd4\u308a\u5024\u3067\u3059\u3002   \n\n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nvideoid    : str                             = \u52d5\u753bID\ntitle      : str                             = \u52d5\u753b\u30bf\u30a4\u30c8\u30eb\ndescription: str                             = \u52d5\u753b\u6982\u8981\nowner      : Video.Metadata.User             = \u6295\u7a3f\u8005\ncounts     : Video.Metadata.Counts           = \u5404\u7a2e\u30ab\u30a6\u30f3\u30bf\u30fc\nduration   : int                             = \u52d5\u753b\u9577\uff08\u79d2\uff09\npostdate   : datetime.datetime               = \u6295\u7a3f\u65e5\u6642\ngenre      : Optional[Video.Metadata.Genre]  = \u30b8\u30e3\u30f3\u30eb\ntags       : list[Video.Metadata.Tag]        = \u30bf\u30b0\u4e00\u89a7\nranking    : Video.Metadata.Ranking          = \u30e9\u30f3\u30ad\u30f3\u30b0\u30c7\u30fc\u30bf\nseries     : Optional[Video.Metadata.Series] = \u30b7\u30ea\u30fc\u30ba\nthumbnail  : Video.Metadata.Thumbnail        = \u30b5\u30e0\u30cd\u30a4\u30eb\nurl        : str                             = \u8996\u8074URL\nrawdict    : dict                            = \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u53d6\u5f97\u3057\u305f\u52a0\u5de5\u524d\u751f\u30c7\u30fc\u30bf\uff08\u30c7\u30d0\u30c3\u30b0\u7528\uff09\n```\n\n##### `def Video.Metadata.refresh() -> None`\n\u81ea\u5206\u81ea\u8eab\u3092\u66f4\u65b0\u3059\u308b\u95a2\u6570\u3067\u3059\u3002\n\n##### `class Video.Metadata.User(...)`\n\u30e6\u30fc\u30b6\u30fc\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002\u6295\u7a3f\u8005\u306a\u3069\u3092\u8868\u3057\u307e\u3059\u3002\uff08`User.Metadata`\u30af\u30e9\u30b9\u306e\u7c21\u6613\u7248\u3067\u3059\u3002\uff09\n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nnickname: str = \u30e6\u30fc\u30b6\u30fc\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\nuserid  : int = \u30e6\u30fc\u30b6\u30fcID\n```\n\n###### `def Video.Metadata.User.get_metadata() -> User.Metadata`\n`Video.Metadata.User`\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092`User.Metadata`\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n\n##### `class Video.Metadata.Counts(...)`\n\u5404\u7a2e\u30ab\u30a6\u30f3\u30bf\u30fc\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002\u518d\u751f\u6570\u306a\u3069\u306e\u30ab\u30a6\u30f3\u30bf\u30fc\u3092\u8868\u3057\u307e\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\ncomments: int = \u30b3\u30e1\u30f3\u30c8\u6570\nlikes   : int = \u3044\u3044\u306d\uff01\u6570\nmylists : int = \u30de\u30a4\u30ea\u30b9\u30c8\u6570\nviews   : int = \u518d\u751f\u6570\n```\n\n##### `class Video.Metadata.Genre(...)`\n\u30b8\u30e3\u30f3\u30eb\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nlabel: str = \u30b8\u30e3\u30f3\u30eb\u540d\nkey  : str = \u30b8\u30e3\u30f3\u30eb\u306e\u5185\u90e8\u8b58\u5225\u30ad\u30fc\n```\n\n##### `class Video.Metadata.Tag(...)`\n\u30bf\u30b0\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nname  : str  = \u30bf\u30b0\u540d\nlocked: bool = \u30bf\u30b0\u30ed\u30c3\u30af\n```\n\n##### `class Video.Metadata.Ranking(...)`\n\u30e9\u30f3\u30ad\u30f3\u30b0\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\ngenreranking: Optional[Video.Metadata.Ranking.Genre] = \u30b8\u30e3\u30f3\u30eb\u306e\u30e9\u30f3\u30ad\u30f3\u30b0\u60c5\u5831\ntagrankings : list[Video.Metadata.Ranking.Tag]       = \u30bf\u30b0\u5225\u306e\u30e9\u30f3\u30ad\u30f3\u30b0\u60c5\u5831\n```\n###### `class Video.Metadata.Ranking.Genre(...)`\n\u30b8\u30e3\u30f3\u30eb\u5225\u30e9\u30f3\u30ad\u30f3\u30b0\u3092\u683c\u7d0d\u3059\u308b\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\ngenre: Video.Metadata.Genre = \u30b8\u30e3\u30f3\u30eb\nrank : int                  = \u30e9\u30f3\u30ad\u30f3\u30b0\u6700\u9ad8\u9806\u4f4d\ntime : datetime.datetime    = \u9806\u4f4d\u7372\u5f97\u65e5\u6642\n```\n\n###### `class Video.Metadata.Ranking.Tag(...)`\n\u30bf\u30b0\u5225\u30e9\u30f3\u30ad\u30f3\u30b0\u3092\u683c\u7d0d\u3059\u308b\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\ntag : Video.Metadata.Tag = \u30bf\u30b0\nrank: int                = \u30e9\u30f3\u30ad\u30f3\u30b0\u6700\u9ad8\u9806\u4f4d\ntime: datetime.datetime  = \u9806\u4f4d\u7372\u5f97\u65e5\u6642\n```\n\n##### `class Video.Metadata.Series(...)`\n\u30b7\u30ea\u30fc\u30ba\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n```\nseriesid   : int             = \u30b7\u30ea\u30fc\u30baID\ntitle      : str             = \u30b7\u30ea\u30fc\u30ba\u30bf\u30a4\u30c8\u30eb\ndescription: str             = \u30b7\u30ea\u30fc\u30ba\u6982\u8981\nthumbnail  : str             = \u30b5\u30e0\u30cd\u30a4\u30ebURL\nprev_video : Optional[Video] = \u524d\u52d5\u753b\nnext_video : Optional[Video] = \u6b21\u52d5\u753b\nfirst_video: Optional[Video] = \u6700\u521d\u306e\u52d5\u753b\n```\n\n##### `class Video.Metadata.Thumbnail(...)`\n\u30b5\u30e0\u30cd\u30a4\u30eb\u753b\u50cf\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n```\nsmall_url : str = \u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5c0f\uff09URL\nmiddle_url: str = \u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u4e2d\uff09URL\nlarge_url : str = \u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5927\uff09URL\nplayer_url: str = \u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u30d7\u30ec\u30a4\u30e4\u30fc\u7528\uff09URL\nogp_url   : str = \u30b5\u30e0\u30cd\u30a4\u30eb\uff08OGP\u8868\u793a\u7528\uff09URL\n```\n\n### `class User()`\n\u30e6\u30fc\u30b6\u30fc\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002\n\n#### `(classmethod) def User.get_metadata(userid: int, detail: str = \"videolist\", *, use_cache: bool = False) -> User.Metadata`\n\u30e6\u30fc\u30b6\u30fc\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002  \n  \n\u6ce8\u610f\u4e8b\u9805: \u8fd4\u308a\u5024\u306eUser.Metadata\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u5909\u6570\u306e\u578b\u306f`detail`\u5f15\u6570\u306b\u3088\u3063\u3066\u5909\u308f\u308a\u307e\u3059\u3002  \n```\ndetail = \"videolist\"\u306e\u5834\u5408:\n  videolist: list[User.Metadata.Video]\ndetail = \"minimal\"  \u306e\u5834\u5408:\n  videolist: EllipsisType\n```\n\n#### `class User.Metadata(...)`\n\u52d5\u753b\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u683c\u7d0d\u3059\u308b\u30af\u30e9\u30b9\u3067\u3059\u3002`User.get_metadata()`\u306e\u8fd4\u308a\u5024\u3067\u3059\u3002   \n\n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nnickname          : str                                    = \u30e6\u30fc\u30b6\u30fc\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\nuserid            : int                                    = \u30e6\u30fc\u30b6\u30fcID\ndescription       : User.Metadata.Description              = \u30e6\u30fc\u30b6\u30fc\u8aac\u660e\u6b04\uff08bio\uff09\nuser_type         : Literal[\"Premium\", \"General\"]          = \u30e6\u30fc\u30b6\u30fc\u30bf\u30a4\u30d7\uff08Premium/General\uff09\nregistered_version: str                                    = \u767b\u9332\u6642\u30d0\u30fc\u30b8\u30e7\u30f3\nfollow            : int                                    = \u30d5\u30a9\u30ed\u30fc\u6570\nfollower          : int                                    = \u30d5\u30a9\u30ed\u30ef\u30fc\u6570\nuser_level        : int                                    = \u30e6\u30fc\u30b6\u30fc\u30ec\u30d9\u30eb\nuser_exp          : int                                    = \u30e6\u30fc\u30b6\u30fcEXP\nsns               : list[User.Metadata.SNS.User]           = SNS\u9023\u643a\u60c5\u5831\ncover             : Optional[User.Metadata.Cover]          = \u30ab\u30d0\u30fc\u753b\u50cf\nicon              : User.Metadata.UserIcon                 = \u30a2\u30a4\u30b3\u30f3\u753b\u50cf\nvideolist         : list[User.Metadata.Video]|EllipsisType = \u6295\u7a3f\u52d5\u753b\u4e00\u89a7\nrawdict           : dict                                   = \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u53d6\u5f97\u3057\u305f\u52a0\u5de5\u524d\u751f\u30c7\u30fc\u30bf\uff08\u30c7\u30d0\u30c3\u30b0\u7528\uff09\n```\n\n##### `def User.Metadata.refresh() -> None`\n\u81ea\u5206\u81ea\u8eab\u3092\u66f4\u65b0\u3059\u308b\u95a2\u6570\u3067\u3059\u3002\n\n##### `class User.Metadata.Description(...)`\n\u30e6\u30fc\u30b6\u30fc\u306e\u8aac\u660e\u6587(bio)\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\ndescription_html : str = \u8aac\u660e\u6b04\uff08text/html\uff09\ndescription_plain: str = \u8aac\u660e\u6b04\uff08text/plain\uff09\n```\n\n##### `class User.Metadata.SNS(...)`\n\u30e6\u30fc\u30b6\u30fc\u306e\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u306b\u8f09\u3063\u3066\u308bSNS\u306b\u3064\u3044\u3066\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002\n\n###### `class User.Metadata.SNS.Service(...)`\nSNS\u30b5\u30fc\u30d3\u30b9\u306e\u540d\u79f0\u3068\u304b\u30a2\u30a4\u30b3\u30f3\u3068\u304b\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nname: str = SNS\u30b5\u30fc\u30d3\u30b9\u540d\u79f0\nkey : str = SNS\u306e\u30bf\u30a4\u30d7\nicon: str = SNS\u306e\u30ed\u30b4\uff08PNG\u30d5\u30a1\u30a4\u30eb\u306eURL\uff09\n```\n\n###### `class User.Metadata.SNS.User(...)`\nSNS\u30e6\u30fc\u30b6\u30fc\u306b\u3064\u3044\u3066\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nservice: User.Metadata.SNS.Service = SNS\u30b5\u30fc\u30d3\u30b9\nname   : str                       = SNS\u30e6\u30fc\u30b6\u30fc\u540d\nurl    : str                       = SNS\u30d7\u30ed\u30d5\u30a3\u30fc\u30ebURL\n```\n\n##### `class User.Metadata.Cover(...)`\n\u30e6\u30fc\u30b6\u30fc\u306e\u30ab\u30d0\u30fc\u753b\u50cf\u306b\u3064\u3044\u3066\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nogp: str = OGP\u7528\u30ab\u30d0\u30fc\u753b\u50cfURL\npc : str = PC\u30b5\u30a4\u30ba\u30ab\u30d0\u30fc\u753b\u50cfURL\nsp : str = SP\uff08\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\uff09\u30b5\u30a4\u30ba\u30ab\u30d0\u30fc\u753b\u50cf\n```\n\n##### `class User.Metadata.UserIcon(...)`\n\u30e6\u30fc\u30b6\u30fc\u30a2\u30a4\u30b3\u30f3\u306b\u3064\u3044\u3066\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nsmall: str = \u30e6\u30fc\u30b6\u30fc\u30a2\u30a4\u30b3\u30f3\uff08\u5c0f\uff09URL\nlarge: str = \u30e6\u30fc\u30b6\u30fc\u30a2\u30a4\u30b3\u30f3\uff08\u5927\uff09URL\n```\n\n##### `class User.Metadata.Video(...)`\n\u52d5\u753b\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002\u6295\u7a3f\u52d5\u753b\u306a\u3069\u3092\u8868\u3057\u307e\u3059\u3002\uff08`Video.Metadata`\u30af\u30e9\u30b9\u306e\u7c21\u6613\u7248\u3067\u3059\u3002\uff09  \n  \n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u4e00\u89a7:\n```\nvideoid : str\ntitle   : str\nowner   : Video.Metadata.User  # User.Metadata\u3067\u306f\u306a\u3044\ncounts  : Video.Metadata.Counts\nduration: int\npostdate: datetime.datetime\nseries  : Video.Metadata.Series\n```\n\n###### `def User.Metadata.Video.get_metadata() -> Video.Metadata`\n`User.Metadata.Video`\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092`Video.Metadata`\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n\n# License\n\u9069\u7528\u30e9\u30a4\u30bb\u30f3\u30b9: LGPL 3.0  \nCopyright \u00a9 2023 okaits#7534\n",
    "bugtrack_url": null,
    "license": "GNU Lesser General Public License 3.0",
    "summary": "Get nicovideo's video metadata.",
    "version": "3.1.2",
    "project_urls": {
        "Homepage": "https://github.com/okaits/nicovideo.py"
    },
    "split_keywords": [
        "nicovideo"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "007957d20f33e91bb37d86b1841cbcc178515021a835379400c88a3f81ea4a7c",
                "md5": "623859d28aed9d0df721614b60417b2e",
                "sha256": "82a79e9ce18235b618366dcb507c6e44d7a3ef43cc9f7d2b24c9d3058720ff01"
            },
            "downloads": -1,
            "filename": "nicovideo.py-3.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "623859d28aed9d0df721614b60417b2e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 10245,
            "upload_time": "2023-09-24T15:55:34",
            "upload_time_iso_8601": "2023-09-24T15:55:34.217079Z",
            "url": "https://files.pythonhosted.org/packages/00/79/57d20f33e91bb37d86b1841cbcc178515021a835379400c88a3f81ea4a7c/nicovideo.py-3.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bfc6d0dc9505f7d63f7df4a487967504bbefaee2fb80036d4f7bd3fc6ab6263f",
                "md5": "2284012002039192d0a8f2a1ffa81a5b",
                "sha256": "9294dd04bc656fece3d96f4c99a9e4874ab7a2bdf295f7c1c9f964a86f6f1a90"
            },
            "downloads": -1,
            "filename": "nicovideo.py-3.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "2284012002039192d0a8f2a1ffa81a5b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12239,
            "upload_time": "2023-09-24T15:55:36",
            "upload_time_iso_8601": "2023-09-24T15:55:36.323209Z",
            "url": "https://files.pythonhosted.org/packages/bf/c6/d0dc9505f7d63f7df4a487967504bbefaee2fb80036d4f7bd3fc6ab6263f/nicovideo.py-3.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-24 15:55:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "okaits",
    "github_project": "nicovideo.py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "beautifulsoup4",
            "specs": []
        },
        {
            "name": "json5",
            "specs": []
        }
    ],
    "lcname": "nicovideo.py"
}
        
Elapsed time: 0.12101s