!!! サイト改修中のため表示が乱れる場合があります(1月末頃まで) !!!
画像処理

14-33. スマホの自動操作でTwitterのプロモーションツイートをミュートしまくった

やること

Twitterの「おすすめ」タブを見ていると一定間隔でプロモーションツイートが挟まってきます。

試しにそのアカウントをミュートしてみると、何個か下に他のプロモーションツイートが湧きます。どんどんミュートすると3個おきにプロモーションになったりします。

じゃあ全部ミュートしたらプロモーションが枯れるのでは??

真相を確かめるべく我々はアマゾンの奥地に向k

今回はAndroidスマホを自動操作するプログラムを使ってプロモーションツイート(アカウント)をどんどんミュートしてみたいと思います。そもそも無料のサービスなので広告が入るのは当然です。単純に興味としての検証であることをご承知おきください。 なおTwitter公式からはミュート数の上限に関する言及はありません。

使用したライブラリ

Pythonで「android-auto-play-opencv」というライブラリを使用させていただきました。使い方はGithubにすべて載っているので省略します。

GitHub - noitaro/android-auto-play-opencv
Contribute to noitaro/android-auto-play-opencv development by creating an account on 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アカウントをミュートしたと推定できます。まだまだ枯れません!

リアクションのお願い

「参考になった!」「刺激された!」と思ったらぜひリアクションをしましょう。エンジニアの世界はGive and Takeによって成り立っています。これからも無料で良質な情報にアクセスできるよう、Giveする人への感謝をリアクションで示しましょう!

この記事をシェアする

自身のブログ等で使用する場合は引用を忘れずに!

また、寄付も受け付けています。コーヒー1杯でとても喜びます(*˘︶˘*)

 Amazonでギフト券(アマギフ)を贈る

こちらのリンク から金額を指定してお贈りください。(デフォルトで10000円になっているのでご変更ください)

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 Amazonで食事券(すかいらーく優待券)を贈る

500円 1000円 2000円 5000円 からお贈りください。

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 その他、ギフト券やクーポン券をメールで贈る

デジタルのギフト券/クーポン券はメールアドレス(staffあっとvigne-cla.com)までお送りください。受領の返信をいたします。
紙のギフト券/クーポン券は 「郵便物はこちらへ」の住所 まで送付してください。名刺やメールアドレスを同封していただければ受領の連絡をいたします。
余った株主優待券等の処理におすすめです。
いずれも見返りはありませんのでご了承ください。

不明点はSNSでお気軽にご連絡ください

ビネクラのTwitter・Youtubeでコメントをください!


Slack・Discordの場合はこちらの公開グループに参加してShoya YasudaまでDMをください!


※当ブログに関することは何でもご相談・ご依頼可能です。

この記事を書いた人
Yasuda

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

タイトルとURLをコピーしました