digital 千里眼 @abp_jp

アナログな日常とデジタルの接点

Firefox で広告ブロックする方法(Adblock Plus 用ブロックリストの書き方)2009-08-10 版

Adblock Plus の効果

上からCNET JapanITmediaZDNet Japanの例

基本
  • Firefox のアドオンをインストール
アドオン名 必須 説明
Adblock Plus 広告ブロックする機能を提供
Element Hiding Helper   マウスを使って直感的にブロック・ルールを作成する為の補助ツール(私は使いませんが...)
誰かが作ってくれたブロックリストを利用することもできる
フィルタ名 説明
Known Adblock Plus subscriptions 公式サイトに掲載されているブロックリスト
基本的に EasyList だけでいいと思う
ブラウザの動作が重くならないなら EasyPrivacy を加えてもいい
  • 入れすぎると... => 重くなる
  • 海外製のブロックリストは日本語のWebサイトに対応していないことが多い => 自分で作るしかない

ブロックリスト(非表示要素フィルタ)の書き方

ブロック対象の何を手がかりにブロックルールを書くか

ブロック対象の手がかり 追加するルールの種類
広告等のリンクURL 適用フィルタ
タグの属性(リンクURL とか id や class) 非表示要素フィルタ

適用フィルタの書き方は URL を指定するだけで簡単なので詳しくは書かない。面倒なのは非表示要素フィルタの書き方だ

サンプルフィルタ 対象ドメインの限定 区切り 対象のタグ 対象タグの属性
##*[class="overture"] なし ## なので全てのタグ対象 class 属性が overture
##*[href*=".accesstrade.net/at/c.html?"] なし ## なので全てのタグ対象 href属性に .accesstrade.net/at/c.html? を含む
##div[class$="_ads"] なし ## div class属性が_adsで終わる
sample.net##table[cellspacing="2"][border="0"] sample.net ## table cellspacing 属性が 2 かつborder 属性が 0
補足(重要)

ドメイン指定

属性を使った対象タグの限定(書き方は CSSセレクタと同じ)

[属性*=""] 属性に値を含む
[属性^=""] 属性の先頭に値が来る
[属性$=""] 属性の末尾に値がくる
  • ちなみに、正規表現を使った書き方はブラウザの動作が遅くなることが多いので推奨されていない