uBlock OriginにてYoutube内の特定のキーワードを含むタイトルやチャンネルをブロック

最近Youtubeを見ていて不快なコンテンツが検索キーワードや閲覧履歴に全く関連なく挙がってくることが多くなったと思う。一時期大量に涌いた「いかがでした」系ゴミサイトのように、Youtubeピックアップからの拾われやすさだけに全力を尽くした内容スカスカor不快な見た目or焼き増しのコンテンツが蛆のように涌いて出てYoutubeトップ画面なんかもうヒドい。

広告ブロッカーとして有用なアドオン「uBlock Origin」を用いて、特定任意のキーワードを含むタイトルやチャンネルをブロックする方法は、単純に「マイフィルター(My Filter)」にXpathを使用して任意のキーワードを指定すればいいだけ。

動画タイトルに特定キーワードを含んだらブロックしたい

「uBlock Origin」のダッシュボードから、「マイフィルター(My Filter)」に移動して、
マイフィルター入力画面で下記のような内容を入力する。

! [トップ画面] Youtube タイトルでブロック
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="video-title"], "ゴミ動画")])
! [検索結果画面] Youtube タイトルでブロック
youtube.com##:xpath(//ytd-video-renderer[contains(.//a[@id="video-title"], "ゴミ動画"")])

先頭が「!」で始まる行はコメント扱いされるため、実質必要なのは2行目となる。
(youtubeトップ画面と、検索結果一覧画面それぞれでブロックする必要がある)

今回の場合、Youtube上で動画のタイトル部分に「ゴミ動画」というキーワードを含んでいた場合、uBlock Originによる非表示の対象となり、画面に表示されにくくなる。
(真に憎たらしいことに、スクロールなどによる差動読み込みの場合は一瞬だけ表示されてしまったりする)

上記の「ゴミ動画」の部分を、「岸田親子」に変えれば、動画タイトルに「岸田親子」を含むものがあれば軒並みブロック対象になる。

チャンネル名に特定キーワードを含んだらブロックしたい

「uBlock Origin」のダッシュボードから、「マイフィルター(My Filter)」に移動して、
マイフィルター入力画面で下記のような内容を入力する。

! [トップ画面] Youtube チャンネル名でブロック
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "ゴミチャン")])
! [検索結果画面] Youtube チャンネル名でブロック
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "ゴミチャン")])

先頭が「!」で始まる行はコメント扱いされるため、実質必要なのは2行目となる。
(youtubeトップ画面と、検索結果一覧画面それぞれでブロックする必要がある)

今回の場合、Youtube上で動画のチャンネル部分に「ゴミチャン」というキーワードを含んでいた場合、uBlock Originによる非表示の対象となり、画面に表示されにくくなる。
(真に憎たらしいことに、Ajaxなどによる差動読み込みの場合は一瞬だけ表示されてしまったりする)

キーワードは一つしか指定できないのか

マイフィルターで処理しきれる数だけ何個もルールを投入すれば実質無限に指定できる。
(無限の解釈には個人差があります)

! ################################################## トップ画面 でのブロック
! Youtube タイトルでブロック (トップ画面)
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="video-title"], "韓国人")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="video-title"], "接客態度")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="video-title"], "BREAKING")])

! Youtube チャンネル名でブロック (トップ画面)
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "フィッシャーズ")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "東海オンエア")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "コムドット")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "ヒカル(Hikaru)")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "jun channel")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "カノックスター")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "SAWAYAN")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "あめんぼぷらす")])
youtube.com##:xpath(//ytd-rich-item-renderer[contains(.//yt-formatted-string[@id="text"], "QuizKnock")])

! ################################################## 検索結果一覧 でのブロック
! Youtube タイトルでブロック (検索結果一覧)
youtube.com##:xpath(//ytd-video-renderer[contains(.//a[@id="video-title"], "韓国人")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//a[@id="video-title"], "接客態度")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//a[@id="video-title"], "BREAKING")])

! Youtube タイトルでブロック (検索結果一覧)
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "フィッシャーズ")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "東海オンエア")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "コムドット")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "ヒカル(Hikaru)")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "jun channel")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "カノックスター")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "SAWAYAN")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "あめんぼぷらす")])
youtube.com##:xpath(//ytd-video-renderer[contains(.//yt-formatted-string[@id="text"], "QuizKnock")])

ブロックするキーワードが増えれば増えるほどCPU処理が大きくなるので、
タブレットなどのバッテリーで駆動している端末では極力数を絞ったほうがいいかもしれない。

キーワードは短すぎると他のものを巻き込んでしまうので、可能であれば固有名詞単位で区切ったほうがいい。

さぁこれでしばらく変なものを見なくても済みそう。
残念ながらShortsには対応してないんだなこれが・・・。

コメントを残す