やること
Twitterの「おすすめ」タブを見ていると一定間隔でプロモーションツイートが挟まってきます。
試しにそのアカウントをミュートしてみると、何個か下に他のプロモーションツイートが湧きます。どんどんミュートすると3個おきにプロモーションになったりします。
じゃあ全部ミュートしたらプロモーションが枯れるのでは??
真相を確かめるべく我々はアマゾンの奥地に向k
今回はAndroidスマホを自動操作するプログラムを使ってプロモーションツイート(アカウント)をどんどんミュートしてみたいと思います。そもそも無料のサービスなので広告が入るのは当然です。単純に興味としての検証であることをご承知おきください。 なおTwitter公式からはミュート数の上限に関する言及はありません。
使用したライブラリ
Pythonで「android-auto-play-opencv」というライブラリを使用させていただきました。使い方はGithubにすべて載っているので省略します。
あらかじめスマホの開発者向けオプションで「USBデバッグ」ON、「USBデバッグ(セキュリティ設定)」ONにしておく必要があります。
準備
まずは手動でスクショを撮ってこれらのパーツを集めます。
「プロモーション」の文字は「↑プロモーション」「↑◯◯公式によるプロモーション」の両方に対応できます。ドット(ケバブメニューと呼ぶらしいがあまり好きではない)は余分にトリミングすると誤検出が起きやすくなるのでギリギリを狙うこと(画像の一致率(%)で判定しているため、伝われ)。
動作アルゴリズム
荒削りですがこんなアルゴリズムにしました。
ステップ①
下にスクロールしながら「プロモーション」を探す
ステップ②
「プロモーション」をドラッグして画面上部にもっていく
ステップ③
下にスクロールしながら「ドット」を探す
ステップ④
「ドット」をタップ、「さんをミュートする」をタップ
ステップ②は何のためかと言うと、「プロモーション」より上にある一番近い「ドット」を見つけるためです。無関係なドットをタップしてしまうと無害なアカウントをミュートしてしまうことになりますので。(ただ、もっと効率的な方法はあります)
動作の様子をYoutubeにアップしました。
結果
開始前のミュートアカウント数が約120個でした。ミュートアカウント一覧は確認できますが総数は表示されないので数えました。
一回の実行でだいたい最大60個くらいミュートできます。24時間しっかり溜めれば60個くらい湧くということです。朝起きたら「おすすめ」タブで60個。隣の「フォロー中」タブに行って残骸撤去。この繰り返しです。
現在400アカウントくらいはミュートできましたがまだまだ枯れません。ご覧ください。金バッジ、青バッジが一網打尽です。(一体何と戦っているのか)
進捗は弊社Twitterで報告いたします。
ミュートアカウントの数え方と現状報告
2023/08/19追記
ミュートアカウントの数え方を伝授します。ブロックしたアカウント一覧はエクスポートできるらしいので簡単ですが、ミュートしたアカウントは現状、一つ一つ数えるしかありません。そこで簡易的な方法を共有します。
ステップ①:1アカウントの高さを調べる
ページの拡大率を最低(25%)にしてミュートアカウント一覧ページをリロードします。ここでページスクロールをせずにネットワークから切断します(Wi-Fi切断)。ページを下までスクロールして表示されているアカウント数を数えます。37+37+38+8=120個でした。
F12キーでカラムの高さを確認すると22008でした。
このカラムは1ページ分くらいの空白を含むので、空白を37個分と仮定して割り算します。1アカウントの高さは 22008/(120+37)=140.1783 とわかりました。
ステップ②:ミュートアカウントの総数を調べる
ネットワークに接続してスクロールしまくって全てのアカウントを表示させ、カラムの長さを調べると163500でした。
よって次の方程式を解いてxを求めると、
1029アカウントをミュートしたと推定できます。まだまだ枯れません!