ニコニコランキングメーカーソースコード(最新版はSVN) (1.86) | 2009-05-31 21:19 |
.ニコニコランキングメーカー本体のみ (3.04) | 2017-03-08 08:38 |
..ニコニコランキングメーカー本体+FFmpeg(初めての方はこちら) (3.04) | 2017-03-08 08:37 |
このページでは、ニコニコランキングメーカーの新フィルターのフォーマットについて説明します。
新フィルターを使用する場合は、フィルターファイルの1行目を
version=2にしてください。
また、新フィルターのフィルターファイルの文字コードは「UTF-8」になります。
新フィルターでは、基本のフィルター条件を and や or で接続して全体のフィルターを作ります。
// 動画IDが sm9 または sm1234 である動画を対象外とする -(id:sm9 or id:sm1234)
// 「歌ってみた」または「演奏してみた」をタイトルに含む動画を対象とする title:歌ってみた or title:演奏してみた
// 「ランキング」をタイトルに含む動画を対象外 // 「歌ってみた」または「演奏してみた」タグを含まない動画を対象外 -title:ランキング and (tag:歌ってみた or tag:演奏してみた)
フィルター条件は、動画のどの要素に適用するかを指定するフィルタータイプと、実際の条件を指定するフィルターパターンをコロン「:」でつなげたものです。
フィルタータイプ:フィルターパターン
使用できるフィルタータイプには以下のものがあります。
フィルタータイプ | 説明 |
---|---|
id | 動画のID/全体一致、大文字小文字区別有り |
title | 動画のタイトル/部分一致、大文字小文字区別無し |
description | 動画の説明文/部分一致、大文字小文字区別無し |
submit | 動画の投稿日時 |
view | 動画の再生数 |
comment | 動画のコメント数 |
mylist | 動画のマイリスト数 |
pname | 動画のタグから推定されたP名/全体一致、大文字小文字区別無し |
length | 動画の長さ |
tag | 動画に設定されたタグ/全体一致、大文字小文字区別無し |
ltag | 動画に設定されたロックされたタグ/全体一致、大文字小文字区別無し |
utag | 動画に設定されたロックされていないタグ/全体一致、大文字小文字区別無し |
idlist | パターンリストを参照 |
titlelist | |
descriptionlist | |
submitlist | |
viewlist | |
commentlist | |
mylistlist | |
pnamelist | |
lengthlist | |
taglist | |
ltaglist | |
utaglist |
フィルターパターンには「文字列パターン」、「数値範囲パターン」、「日時範囲パターン」、「長さ範囲パターン」の4種類があります。
フィルターパターン内で半角スペース「 」と括弧「(」「)」を使用する場合、フィルターパターンをダブルクオーテーション「"」で囲む必要があります。 (ただし、submitとパターンリストは例外です)
ダブルクオーテーションで囲んだフィルターパターン内でダブルクオーテーションを使用する場合は、バックスラッシュ「\」でエスケープしてください(title:"abc \"xyz\" 123")。
フィルターパターンと動画の情報を単純に文字列比較します。 文字列パターンを使用するフィルタータイプは、id、title、description、pname、tag、ltag、utagです。
文字列比較の方法には「全体一致・部分一致」、「大文字小文字の区別の有無」があり、フィルタータイプにより既定値が設定されています。 それぞれの既定値についてはフィルターパターン一覧を参照してください。
文字列比較オプションを使用することで、比較方法を既定値から変更することができます。 また、文字列比較に正規表現を使用する場合も、オプションで指定します。
オプションは、フィルタータイプの後、アットマーク「@」に続けて指定します。 オプション指定方法の一覧を以下の表に示します。
指定方法 | 比較方法 |
---|---|
フィルタータイプ@:フィルターパターン | 部分一致/大文字小文字区別有り |
フィルタータイプ@i:フィルターパターン | 部分一致/大文字小文字区別無し |
フィルタータイプ@a:フィルターパターン | 全体一致/大文字小文字区別有り |
フィルタータイプ@ia:フィルターパターン | 全体一致/大文字小文字区別無し |
フィルタータイプ@r:フィルターパターン | 正規表現比較(※) |
※ 正規表現比較と他のオプションは同時に指定することはできません。 使用できる正規表現は「.NET Framework の正規表現」に従います。
title@a:test動画
フィルタータイプの動画の数値が、フィルターパターンの範囲内であるかどうかを比較します。 数値範囲パターンを使用するフィルタータイプは、view、comment、mylistです。
数値範囲パターンは、上限値と下限値を以下のようにカンマ「,」で区切って指定します(再生数1000以上2000以下を表す例)。
view:1000,2000
上限値、下限値のいずれかは省略可能です。省略された場合は、それぞれ上限無し、下限無しとなります。
comment:1000,
comment:,1000
動画の投稿日時がフィルターパターンの日時の範囲内であるかどうかを比較します。 日時範囲パターンを使用するフィルタータイプは、submitです。
日時範囲パターンは、日時の上限と下限を、数値範囲パターンと同様に指定します。 日時を表すために使用できる書式は「yyyy/MM/dd HH:mm:ss」、「yyyy-MM-ddTHH:mm:ss」のいずれかです。
submit:2009/01/01 12:34:56,2009/01/10 00:00:00
submit:2009-01-01T12:34:56,2009-01-10T00:00:00
※ 上記の1番目の例には半角スペースが含まれていますが、submitで「yyyy/MM/dd HH:mm:ss」の書式を使用する場合のみ、ダブルクオーテーションで囲む必要はありません。
数値範囲パターンと同様に、上限または下限を省略することがきます。
submit:2009/01/01 12:34:56,
submit:,2009/01/10 00:00:00
submit:2009-01-01T12:34:56,
submit:,2009-01-10T00:00:00
動画の長さがフィルターパターンの長さの範囲内であるかどうかを比較します。 長さ比較パターンを使用するフィルタータイプは、lengthです。
長さ範囲パターンは、長さの上限と下限を、数値範囲パターンと同様に指定します。 長さを表すために使用する書式は「mm:ss」です。
length:10:00,20:00
数値範囲パターンと同様に、上限または下限を省略することができます。
length:10:00,
length:,20:00
and でフィルター条件を結合することで、フィルター条件の論理積を作成することができます。
タイトルに「abc」を含み、タグに「xyz」を持つ動画
title:abc and tag:xyz
or でフィルター条件を結合することで、フィルター条件の論理和を作成することができます。
「abc」、「xyz」いずれかのタグを持つ動画
tag:abc or tag:xyz
フィルター条件の前にハイフン「-」をつけることで、否定のフィルター条件を作成することができます。
タイトルに「abc」を含まない動画
-title:abc
演算子の優先順位は高い順にnot(-)、and、orとなっています。
括弧を使用することで、優先順位を変更することができます。
長さが10分以上20分以下で、かつタグに「bbb」も「ccc」も含まない動画
length:10:00,20:00 and -(tag:bbb or tag:ccc)
xxxlistの形式のパターンタイプを使用することで、一行に1つのフィルターパターンを記述し、それら全てのandまたはorを表わすフィルターを作成することができます。
パターンリストは「xxxlist:{」または「xxxlist:(」で始まり、「}」または「)」のみの行が現われた時に終了します。 「{}」を用いた場合は、リスト内に列挙されているパターンのorを、「()」を用いた場合は、andを表わします。
列挙されたIDの動画を除外
-idlist:{ sm1 sm2 sm3 }
列挙されたタグを全て含む動画を対象とする
taglist:( aaa bbb ccc )
パターンリストにも文字列比較オプションを使用することができます。
フィルターファイル内の改行は、通常の半角スペースと同様に扱われます。
フィルターファイル内で、「//」または「#」で始まる行があった場合、コメントとみなし、その行全体を無視します。