スクリプトを使用して自動化出来る処理の考察
一般公開化を考慮し、MMD杯特有の処理系である「予選ボーナス/本選最終獲得ポイント計算」と、処理が煩雑な「(杯コード記載がない場合の)テーマタグ取得・ロック判定」を廃止(杯コード取得処理のみに簡略化)。
遅刻判定を廃止・締切設定日時まで1~2時間おきに全取得結果更新の形へ変更(締切時間以降の公式マイリス登録がほとんどない/手動追加しても大量でない前提)。
複数マイリスの取得を廃止(1シートにつき1マイリス、事前に制定した公式マイリス番号を監視し続ける)
⇒ マイリス一覧取得テストページ - 8杯本選公式マイリス1(前半)で取得テスト中。
RSS取得処理
公式マイリストのRSS(http://www.nicovideo.jp/mylist/マイリスト番号?numbers=1&rss=2.0、channel->item)から以下を取得
title - 動画タイトル
link - 動画URL
動画ID(動画URLからhttp://www.nicovideo.jp/watch/を除去)
description - 動画説明文(投稿日時・動画時間・再生数・コメント数・マイリスト数含むhtml)
1-2-1) から取得した動画IDのRSS(http://ext.nicovideo.jp/api/getthumbinfo/[動画ID]、thumb->)から以下を取得
length - 動画時間
description - 動画説明文(説明文文字列以外を含まない)
thumbnail_url - サムネURL
tags - 投稿者ロックタグ(最大10個のうちロックタグのみ、★印を付記)
user_id - ユーザーID
判定・文字列抜粋処理
1-3) 公式マイリスト説明文から:
投稿日時: <strong class="nico-info-date">2012年02月13日 20:55:29</strong>
再生数: <strong class="nico-numbers-view">8,353</strong>
コメント数: <strong class="nico-numbers-res">141</strong>
マイリス数: <strong class="nico-numbers-mylist">192</strong>
2-1) 各動画説明文から:
【theme:○○】【name:○○】書式の定型コードを取得
公式マイリストRSSから取得した動画URL(http://www.nicovideo.jp/watch/動画ID)から投稿者名を取得(スクリプトは非ログイン状態)
動画時間判定
取得した全ての変数をスプレッドシートに格納
動画ID
動画時間
タイトル
再生数
コメント数
マイリス数
登録テーマ
投稿日時
登録名
投稿者名
ユーザーID
動画説明文
動画URL
サムネURL
別シート(別webページ)から取得情報を抜き出し、自動で一覧表化
登録タグ一覧取得
予選マイリスポイントボーナス / 本選最終獲得ポイント判定・計算
投稿日時遅刻判定
テーマコード有無判定
失格理由(動画時間 / 投稿日時 / テーマ有無)
予選・本選用の全体集計一覧
予選・本選テーマ別の集計一覧
適時書き換え・情報更新に備えて更新日時別バックアップシートを作る
内部各運用者使用用途にxml(php)・JSON(javascript)・csv(エクセル)形式で保存