Chrome
WebDriver
C#
YouTube

悪魔のツール「すこすこ砲」の中身

はじめに

今回はなんJに投下され、拡散し有名となった、YouTube低評価ツール「すこすこ砲」について大雑把に解説しようと思います。
この記事では、CUI版の一つであるこのrepoを参考にします。

8/31前後にYouTubeのレイアウトが変更されたため、現行のコードは動作しません。
悪用防止のため、ここで紹介されているrepoを含め、ソースコードは公開されないことになっていますが、
開発者達が修正をしているので暖かく見守ってあげて下さい。

使い方

まず初めに、使い方を簡単に説明しましょう。
すこすこ砲をダウンロードして展開し、コマンドプロンプトを起動。そして以下のように入力します。

SukoSukoCui.exe [メールアドレス] [パスワード] [YouTubeにおけるチャンネルID]

YouTubeにおけるチャンネルIDは、こちらのチャンネルを例にとると、UCaminwG9MTO4sLYeC3s6udAとなります。
コマンド指定もでき、以下のようなものがあります。

  • --first-10 最初の10個のみを対象にする
  • --suko N 最初のN個の動画を対象にする
  • --para N N並列で実行する

すこすこ砲の動作

WebDriverで並行数分のChromeを起動

WebDriverで制御できるのはウィンドウごとらしく、タブの制御は現時点では不可能とのこと。
以下、ウィンドウ名はスレッド0...スレッドN-1(プログラム内と同じ名前)とします。

ログイン

これは並列してログイン処理をしません。(一つづつ順番にログインをします。)

https://accounts.google.com/ServiceLogin にアクセスしてから、

新ログイン画面の場合

  1. IDidentifierIdにメールアドレスを入力
  2. IDidentifierNextをクリック
  3. パスワード欄が出るまで待機
  4. IDpasswordにメールアドレスを入力
  5. IDpasswordNextをクリック

旧ログイン画面の場合

  1. IDEmailにメールアドレスを入力
  2. IDnextをクリック
  3. パスワード欄が出るまで待機
  4. IDPasswdにメールアドレスを入力
  5. IDsignInをクリック

という動作でログインをします。

再ログイン

これから先の動作で、たまにログインがされていないことがあります。
これを解決するため、「ログイン」ボタンをクリックするだけの処理があります。
「再ログインをする」等の表記があった場合は、「ログイン」ボタンをクリックするだけと考えて下さい。

動画の探索

実行してみると分かりますが、APIは叩いていません。
使いません。

さあどうするのかと言いますと、
チャンネルの投稿動画をウェブページから探します。

探します。
この発想は無かった。

動作

以下のようにして探索をします。(スレッド0のみを使用します。)

  1. ログインしていない場合は再ログイン
  2. 「もっと読み込む」をクリック
  3. 2が出来なくなるまで繰り返す
  4. watch?v=~~~~~~部分を全部探す

すこる(低評価する)

その前に...

一個前のステップで探索した動画は、全スレッドに均等に振り分けられます。(動画数によっては少し偏りますが)

すこる

  1. ログインしていない場合は再ログイン
  2. ([動画ID]すこ! ([完了動画数]/[全動画数])と表示する)
  3. 低評価ボタンが押されているか確認する
    押されていれば、5へ
    (確認しないと、低評価を外してしまいます。)
  4. 低評価を押す
  5. 次の動画へ

正常終了時

(ChromeDriver).Dispose()を呼び出して全スレッドのChromeを閉じます。

最後に

「すこすこ砲」の「すこ」とは、「低評価」を意味します。「逆すこ」は、「高評価」となります。
かなり原始的な方法にも見えますが、動画あたり数秒しか開かずに低評価を押せるのは気軽で速いですね。
その短さが故、再生数にカウントされないため、収益化していても相手の収益になることは無いそうです。
よく話題に出る、高評価率はここから見ることができます。いかになんJ民やTwitterユーザー達の勢力が大きいかが見て取れます。

ここまでご覧いただきありがとうございました。