あらすじ
ニコレポの情報を http://www.nicovideo.jp/my/top/all?innerPage=1&mode=next_page
から取得していたが、仕様変更によりこのパラメータが無効?になっていた。
ので、またニコレポを取得できるように色々調査。
調査ログ
http://www.nicovideo.jp/my/top/all
をGoogle Chromeのデベロッパーツールを開いた状態でアクセスしてみるnicorepo.js
内でfetchhttp://www.nicovideo.jp/api/nicorepo/timeline/my/all?client_app=pc_myrepo&_=1234567890123
している?- 上記に直接アクセスしてみる
- パラメータは固定?(
_
はユーザー毎に固定?)
- 以下のようなレスポンスが返ってくる
{
"meta": {
"status": 200,
"maxId": "1499861535479-b3ec9...",
"minId": "1499754804677-da9ff...",
"impressionId": "c218734f-bff7-497f-b41c-48071c013111",
"clientAppGroup": "nicorepo",
"_limit": 25
},
"data": [
{
"id": "1499861535479-b3ec9...",
(略)
"video": {
"id": "so31557548",
"status": "PUBLIC",
"thumbnailUrl": {
"normal": "http://tn-skr1.smilevideo.jp/smile?i=31557548"
},
"title": "洲崎西 第211回放送(2017.07.11)",
"videoWatchPageId": "1499858531"
}
},
(略)
{
"id": "1499754804677-da9ff...",
(略)
},
],
"errors": [],
"status": "ok"
}
data.video
が動画情報っぽい- 取得件数は
_limit
で変えられるような気がする- が、色々パラメータを付加してみたが25から変わらなかったので別の方法を考える
- ニコレポページの「さらに読み込む」を選択してみる
- 新たに
http://www.nicovideo.jp/api/nicorepo/timeline/my/all?cursor=1499754804677-da9ff...&client_app=pc_myrepo&_=1234567890123
からニコレポの続きを取得された cursor
の1499754804677-da9ff...
は最初に取得したニコレポ一覧の最後尾の動画のdata.id
と一致した- そして、最後尾の動画の
data.id
はmeta.minid
と一致した
- 新たに
- 以下を繰り返せばニコレポを取得できた
http://www.nicovideo.jp/api/nicorepo/timeline/my/all?client_app=pc_myrepo&_=1234567890123
を取得- 上記の
meta.minid
をcursor
パラメータとして付加する