digital 千里眼 @abp_jp

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

Firefox で広告をブロックする方法(Adblock Plus 用ブロックリストの書き方)2008-09-22 版

内容が古くなってきたので、引っ越しして更新しました

2009-08-10 追加

Adblock Plus の効果

  • 以前紹介した広告ブロックが有効の状態でスクリーンショット撮ったので、Adblock Plus 以前に多くの広告は消えている(空白になってたりするのがそう)
  • Proxy のブロックリストで消しきれなかった広告を更にブロックしようというわけ

上からCNET JapanZDNet JapanITmediaの例

基本
  • Firefox のアドオンをインストール
アドオン名 説明
Adblock Plus 広告ブロックエンジン
Element Hiding Helper マウスを使った簡単操作でブロック対象を選択
楽をしたい人は誰かが作ってくれたブロックリストを利用
  • 入れすぎ注意 => 重くなる
フィルタ名 説明
Known Adblock Plus subscriptions 公式サイトに掲載されているブロックリスト
基本的に EasyList だけでいいと思う
ブラウザが重くないなら EasyPrivacy も加えてみるといい

ブロックリストの書き方

ブロック対象 追加するルールの種類
リンクURL(画像とか)をブロックしたい場合 今まで通りURLを「適用フィルタ」に追加
リンクURL(広告ページとか)をブロックしたり、画面の一部を非表示にする 非表示要素フィルタを使います
サンプルフィルタ ドメイン指定 区切り 対象タグ 対象タグの属性
#*(affiliate) なし=全て # ∗なので全てのタグ対象 id属性またはclass属性がaffiliate
#*(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セレクタ正規表現と書き方が似ていますね

  • 正規表現を使った書き方は遅くなるので推奨されていません
  • CSSセレクタを使った書き方もありますが、Adblock Plus 内で記法のチェックをしないため、書き方を誤ると他のルールを壊してしまう可能性があるそうなのでここでは割愛します

参考までに自分の使ってるブロックリストを載せときます

ここに引っ越しました(2008-11-08 変更


ℵ ニンニン ℵ