ニコニコ動画のランキングにNGワードを設定するスクリプト

FirefoxアドオンのGreasemonkeyを使って、ニコニコ動画のランキングにNGワードを指定します。

<動作確認している環境>
Mac OS X 10.8.4
Firefox 23
Greasemonkey 1.8
ニコニコ動画(原宿) – カテゴリ合算毎時総合ランキング(http://www.nicovideo.jp/ranking/fav/hourly/all)

特に重要なのはニコニコ動画のバージョンとページ。別バージョンや別ページでは動作確認していません。

Before(ニコニ広告は非表示にしてます)

before

After(「とある」をNGワードにしたので、1位の『とある科学の~』が非表示に)

after

実際のスクリプトは以下(2013-08-10 14時追記。NG理由が表示されるようにする処理を追加)。

// ==UserScript==
// @name        Nico Ranking NG Word
// @namespace   https://twitter.com/ryo511
// @include     http://www.nicovideo.jp/ranking/*
// @version     1.0
// @grant       GM_getValue
// @grant       GM_setValue
// ==/UserScript==
(function () {
var ng_pattern = /NG|ワード/;
var display_matched = 0; // 0なら単なる非表示 1ならNG理由表示
for (var i = 1; i <= 100; i += 1) {
var elem = document.getElementById("item" + i);
var matched = elem.innerHTML.match(ng_pattern);
if (null !== matched) {
if (1 === display_matched) {
elem.innerHTML = "NG:" + matched; // NG理由表示
} else {
elem.style.display = "none"; // 単なる非表示
}
}
}
})()

ng_pattern に正規表現でNGパターンを指定して、あとは各要素をidで引っこ抜いてパターンマッチ。

ng_patternにマッチした場合、デフォルトでは単に非表示にします。何が理由で非表示になったか知りたい場合、「var display_matched = 0;」となっている部分を、「var display_matched = 1;」と書き換えます。

ng_patternは、「|」でいくつでも追加できます。例えば、/とある|科学|超電磁砲/だと、「とある」「科学」「超電磁砲」のいずれかの単語が動画のタイトル・説明文に含まれる動画を非表示にします。

Greasemonkeyのインストール方法に関しては、Greasemonkey入門、ユーザースクリプトの作り方はGreasemonkeyによるアプリケーション開発あたりを読んでください。

コメントをどうぞ

コメントを残す