【2022年最新】PCブラウザでYouTube広告を消すツールの開発方法

  • 毎回YouTubeで動画を見る際に広告が出てきてウザい。。。
  • 長めの広告だと5秒後に毎回「広告をスキップする」を押さなくてはならなくて面倒。。
  • かといって、ネットで調べてでてくるツールは使えないものばかり。。

実際ネットでYouTube広告を消すことのできるツールについて調べてみると、使えないツールを紹介しているケースは多いです。

なぜなら、YouTube側がそうしたツールに対して広告をスキップできないように対策しているからです。

当然ながらYouTubeは広告収入が収入の源泉の為、こういったツールは対策されてしまうのです。

そこでこの記事では、YouTubeには対策できない広告を自動でスキップするツールの作り方・使い方を説明します。

この記事を読めば、ブラウザでYouTube広告をスキップすることができるツールを作ることができます。

また、画像認識を利用したツールを作成するので、アプリ開発の知識も同時に身に着けることができます。

今回作成するYouTube広告の自動スキップツールの動作イメージは次の通りです。

また、ツールを作るために必要なソースは次の通りです。

YouTubeを自動スキップするツールのソース
# coding:utf-8
def handler(event):
    region.click(youtube);
    print("apeared image")
    event.repeat()

# ユーザに監視するエリアを指定させる
region = Region(0,0,1280,680)
youtube = 

region.onAppear(youtube, handler)
region.observeInBackground(FOREVER)

# ユーザの入力を受け付ける
str = input(u"アプリの起動時間を入力")
if str.isdecimal():
    wait(int(str))

r.stopObserver()
print("finished")

目次

本記事は次の順番でYouTube広告の自動スキップツールの作り方を次の2つのステップで説明していきます。

  1. SikuliXをダウンロードする
  2. YouTube広告の自動スキップツールを開発する
ツールの制約事項

本記事で作るツールにはPCのみが対象です。

(携帯端末では実施できないのでご注意ください。)

ステップ1:SikuliXをダウンロードする

今回作成する寿司打自動回答ツールは、SikuliX(シクリ)で開発します。

開発言語はPythonで行っていきます。

SikuliXは次のような特徴を持ったアプリ開発用の無料ツールです。

  • 画像認識の機能を持ち、容易に画像認識を利用したプログラムを利用できる
  • 様々なプログラミング言語をサポートしている
    • Python 、Ruby 、JavaScript 、Javaなどをサポート
  • 画像に含まれる文字を認識する機能(OCR)を備えている

SikuliXのダウンロード・起動方法

最新のSikuliXを次のサイトからダウンロードしてください。

“Download the ready to use sikulixide-x.x.x …”を押してお使いのOSにあったファイルをダウンロードしてください。

ダウンロードしたファイル(.jarファイル)を開いてください。次のような画面が開かれると思います。
ファイルが開けない場合

SikuliXにはバージョン8以降のJavaをインストールする必要があります。

Javaをインストールしていない場合は、次のサイトからインストールするようにしてください。

表示されたサイトの「無料Javaのダウンロード」を押してダウンロードするようにしてください。

ステップ2:YouTube広告の自動スキップツールを開発する

本記事で説明するツールは次の流れで処理をするようになっています。

  1. 「広告をスキップ」するを押下するスクリーン領域(Region)を指定する
  2. クリックする対象の画像を指定する
  3. ②の画像が表示されたら、クリックする
  4. ダイアログを表示して、入力された時間だけ処理を継続する

本記事では、画面全体を対象としてアプリを開発しますが、領域を絞れば絞るだけ精度が上昇するので、ご自由に絞ってもOKです。(絞った場合は、その領域の外で「広告をスキップ」が表示されてもクリックしないのでご注意ください)

そして今回、クリックする対象とする画像は次の画像です。

今回は「プ▷」を見つけたらクリックします。
???『プ▷』とは??

「???『プ▷』とは??」と思った人もいるかもしれませんが、これは「広告をスキップ▷」の「プ▷」です!

筆者ははじめ「広告をスキップ▷」の画像でやっていましたが、うまく画像認識されず試行錯誤した結果「プ▷」が安定して動作したので、この画像を見つけたらクリックするようにしています。

アプリ起動後に次のようなダイアログ(ポップアップする画面のこと)を表示して、入力を待つ状態にします。

ダイアログを表示している間もアプリは起動しているので、ずっと起動したい場合はこのダイアログをずっと表示していればずっと動作します。

このダイアログに例えば「10」と入力すると、10秒間アプリを継続後にアプリを終了します。

①:「広告をスキップ」するを押下するスクリーン領域を指定する

Region(0,0,1280,680)は私が利用しているノートPCの画面全体を表しています。

Region(0, 0, 画面幅(px), 画面高さ(px))を指定すると全画面が選択できます。

②:クリックする対象の画像を指定する

本ツールでクリックする対象の画像を指定します。

左上の「スクリーンショットを撮る」を押下するとマウスで選択した範囲の画像が選択できるようになります。

「プ▷」をスクショしてコードに埋め込む

③:②の画像が表示されたら、クリックする

②の画像が表示されたら、自動でクリックするようにします。

次の画像の赤枠のコードを追記してください。

④:ダイアログを表示して、入力された時間だけ処理を継続する

ツールの起動時間を指定するためのダイアログを表示するようにします。

ツールの使い方

実際にツールを使う方法を説明します。

ツールの起動にはSikuliXの「実行」ボタンを押下します。

あとはYouTubeで動画を再生するだけで、自動で広告をスキップするようになります。

まとめ

YouTubeの広告を自動スキップするツールの作り方は次の2ステップでした。

  1. SikuliXをダウンロードする
  2. YouTube広告の自動スキップツールを開発する

SikuliXを使えば簡単にツールの作成ができます。

今回の細かいコードの説明について気になる方は、この後で説明しているので読んでみてください。

本ブログでは、未経験者が転職市場で高く評価され、好条件で転職する為の方法を説明しています。

アプリ開発を通じたスキルアップ、プログラミングを利用した「稼ぐ力」のアップについても説明していますので、気になる方はご覧になってください。

eye catch3ステップで解説!IT経験なしの20代のあなたが転職市場で評価される方法

おまけ:SikuliXで知っておきたいメソッドを解説

onAppear

[使い方]

onAppear( image, handler )

画像を見つけたら、handlerの処理を実施します。

[引数]

image: 画像、handler: 画像を見つけた時に呼び出すメソッド

onAppearは今回のアプリの要となるメソッドです。onAppearRegionクラスのメソッドで、範囲指定した領域の中で引数で指定した画像が見つかった場合に、handlerを呼び出します。

Regionクラスについては次の記事で説明しています。

【コード9行のみ!】寿司打に自動回答する最強チートツールを開発しよう

サンプルコードについても載せておきます。

Python
# 画像を見つけたら実施する処理
def handler(event):
    print("find image !")

# 領域(Region)を指定する
region = (領域を指定する画像)
image = (領域で検知したい画像)
region.onAppear( image, handler )
region.observeInBackground(FOREVER)
wait(10)
region.stopObserver()

regionで指定した領域にimageが見つかると、handlerが実施され「find image !」と表示されます。

また、このままだと、imageを一度検知すると処理が終了してしまいますが、handlerの中でevent.repeat()を実行すると続けて画像の探索を行います。

input

[使い方]

input( string )

ユーザからの入力を受け付ける処理

[引数]

string: 入力を受け付ける際にユーザに表示する文章

[返り値]

ユーザが入力した文字列

Python標準のメソッドであるinputはSikulliXで使うとダイアログ(Sikulli Input)として表示されます。ユーザが入力した内容が返り値として返されるので、変数などで受け取り処理をすることができます。

YouTube広告自動スキップアプリのコードを解説

まずは、アプリのコードすべてを掲載します。その後、ポイントとなる箇所を紹介していきます。

Python
# coding:utf-8
def handler(event):
    region.click(youtube);
    print("apeared image")
    event.repeat()

# ユーザに監視するエリアを指定させる
region = Region(0,0,1280,680)
youtube = 

region.onAppear(youtube, handler)
region.observeInBackground(FOREVER)

# ユーザの入力を受け付ける
str = input(u"アプリの起動時間を入力")
if str.isdecimal():
    wait(int(str))

r.stopObserver()
print("finished")

Region(0,0,1280,680)は筆者の画面全体を表しています。

Region(0, 0, 画面幅(px), 画面高さ(px))を指定すると全画面が選択できます。これを指定するのが面倒な人は、SikulixIDEのRegionから選択してください。

そして、onApearを使ってこのRegionにYouTube広告の画像を見つけるとhandlerを実行します。

handlerの中ではYouTube広告をクリックする処理を書いており、これによって広告を自動でスキップします。

また、アプリ起動後にinput()でユーザからアプリの起動時間の入力を待つようにします。

この入力した内容を変数stringで受け取り、入力された文字列が数値なのかバリデーションを実施し、数値が入力された場合はその時間だけ処理を停止します。

バリデーションとは?

バリデーションとは、ユーザからの入力に対して実施するチェックのことです。

ユーザからどんな内容が入力されるかわからないので、入力された内容に対してチェックを実施する必要があります。よく、入力フォームとかでバリデーションが実施されることが多く、知らず知らず皆さんはこのバリデーションチェックを受けているのです。

今回のプログラムでは、string.isdecimal()でバリデーションを実施しています。

isdecimalは入力された文字列が数値ならばtrue、数値以外ならばfalseを返します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です