syuilo / summaly

🔍 Get a summary of any web page
MIT License
47 stars 23 forks source link

nicovideoプラグイン #14

Open tamaina opened 7 years ago

tamaina commented 7 years ago
  1. apiから情報を取得して、xmlからjsonに変換する http://ext.nicovideo.jp/api/getthumbinfo/sm9
  2. view_counter,comment_num,mylist_counterは3桁区切りにして出力する
  3. descriptionの書式は検討するべきです
    • 草案 16,238,700 views | 4,464,914 comments | 167,327 mylists | レッツゴー!陰陽師(フルコーラスバージョン)

書式は迷ったので2つ提唱してみます

レベル1

「情報はapiで取得できるので、descriptionを適当に生成して渡すだけ。」

{
    title: title,
    icon: 'http://res.nimg.jp/img/favicon.ico',
    description: view_counter views | comment_num comments | mylist_counter mylists | description,
    thumbnail: thumbnail_url,
    sitename: 'ニコニコ動画'
}

レベル2

「凝って表示するのにxmlを取得させるのは可哀想なのでこっちで色々提供してあげる」

YouTubeやxvideos,pornhub等の対応も見据えてがっつり固める

{
    title: title,
    icon: 'http://res.nimg.jp/img/favicon.ico',
    description: view_counter views | comment_num comments | mylist_counter mylists | description,  //こっちは変えない
    thumbnail: thumbnail_url,
    sitename: 'ニコニコ動画',
    service: {
        kind: 'video-streaming',    //他にimage-streamingが出て来る気がする
        name: 'nicovideo',
    }
    video: {
        viewCount: view_counter,
        commentCount: comment_num,
        mylistCount: mylist_counter    //ニコニコ独自の機能
        id: id,  //sm9
        duration: *length,    //iso-8601 durationで提供(apiとしての礼儀的ななにか) 5:19→PT5M19S
        description: description,    //生のdescription・改行情報を含む
        category: {
            name: category-tag,  //なければ空白
            id: category-id  //なければ0
        }
        tags: [tag,tag,tag,tag]    //固定情報含まない・category-tag含まない
        contributor: {
            id: user_id,
            nickname: user_nickname,
            avatar: user_icon_url
        }
    }
}
syuilo commented 7 years ago

Thanks for suggestion 👍

otofune commented 7 years ago

このAPIは削除済みの動画の情報が一切取得できません。Webページが表示でき、Fooさんが流れる動画であってもです。まともに取得するには別の非公開APIを叩く必要があります。 ちなみにサジェストされているAPIも外部に利用していいように公式が準備したものではありません

otofune commented 7 years ago

またレベル2は別プラグインですべきことだと私は考えます。このプラグインはあくまでページ内容を同じ形式に成形してくれるプラグインのはずで、このように応答を変更するのは好ましいとは言えないと考えます。

tamaina commented 7 years ago

このAPIは削除済みの動画の情報が一切取得できません。

書くのを忘れただけで、最初から表示させる気はありませんでした。

APIについては、非公式なAPIの利用をやめてスクレイピングしてSchemaを読むようにすると優しい気がします。

またレベル2は別プラグインですべきことだと私は考えます。このプラグインはあくまでページ内容を同じ形式に成形してくれるプラグインのはず

全くそのとおりです。