Tinder自動化作戦その①

いつもお世話になっております。せんまいらっちょv3です。

この度、出会い系アプリの代表格でもある、Tinderの自動化を試みましたので以下にて報告させていただきます。百聞は一見に如かずということで、まずは成果物をご覧ください。

ちゃんと右スワイプが自動化されていますね!

本記事では、こちらの自動スワイププログラムの開発方法を解説していきます。Tinderの自動化ができると、彼女作りも捗るはずです。


pythonの基礎文法は習得したけど、何を作っていいかわからない変態紳士にはもってこいのチュートリアルになっております。また、プログラムが全くわからない人にもなるべく理解できるよう解説しております。

ちなみに本記事の末尾に私の超絶オススメのエロサイト名を記載しておきました。

ではさっそく解説内容に入っていきましょう!


まずはじめにTinderオンラインを準備します。

TinderオンラインはTinderのWebアプリ版で、お手持ちのPC上でTinderの各種機能が利用できるというものです。こちらのTinderオンラインで行うマウス操作(右スワイプ)を自動化していきます。

次に必要なpythonモジュールをインストールします。モジュール名はpyautoguiです。

pythonモジュールとは何でしょうか?

pythonモジュールとは、他人が既に作ってくれているpythonプログラムのことです。現代のプログラミングでは、一から全てを作るのではなく、こういったモジュールを組み合わせて問題解決を行っていくスタイルが一般的です。そして、あるモジュールは、別のあるモジュールのインストールを前提としているため、macではpyautoguiをインストールする前に、別のモジュールをインストールする必要があります。windowsでは必要ありません。

#macのみ必要な操作。pyautoguiを使うために必要なモジュールをインストール
sudo pip3 install pyobjc-framework-Quartz, pyobjc-core, pyobjc

#windowsでもmacでも必要な操作。pythonからマウス操作を自動化するためのプログラムをインストール
pip install pyautogui


インストールが完了したら、早速プログラムを書いていきます。


まずコードの全体像をお見せした後に、詳細部分を解説していきます。

import pyautogui

max_width,max_height = pyautogui.size()
center_x,center_y = max_width/2, max_height/2

while True:
   pyautogui.PAUSE = 1.0
   pyautogui.FAILSAFE = True

   pyautogui.moveTo(center_x,center_y)
   pyautogui.dragTo(max_width,center_y,duration=0.25)

こちらが全体像です。短いですね!

では詳細を解説していきます。import ほにゃららでインストールしたpythonモジュールを読み込み、利用することができます。

import pyautogui 


次に画面の長さと幅、中心点を取得します。pyautoguiではsizeメソッドを利用することで、お手持ちのPCの長さと幅を取得できます。私のPCでは(1920,1080)が返却されますが、この数字は個々のPCによって異なります。そして、それを2で割ることで中心点を求めています。

max_width, max_height = pyautogui.size() #=> (1920,1080)
center_x, center_y = max_width/2 ,max_height/2

ここで一点注意したいのが、プログラム上におけるx,y座標の表現が以下のようになることです。左上が(0,0)という座標をとり、右下が(1919,1079)という座標をとります。


ここからが自動スワイププログラムのコアの部分です。While Trueでpyautogui.PAUSEからpyautogui.dragToが繰り返し行われるよう指示します。マウス操作を自動化すると、ユーザからの操作を一切受け付けなくなってしまうため、pyautogui.FAILSAFEでフェールセーフ機能をONにします。これにより、自動化プログラムの起動中でもマウスを左上(0,0)に持っていくとプログラムを停止することができます。

pyautogui.moveTo(center_x,center_y)で、マウスを画面中心に移動させ、pyautogui.dragTo(max_width,center_y,duration=0.25)で右端までドラッグすることでスワイプを表現しています。durationというパラメータはドラッグの速度を表しています。

while True:
   pyautogui.PAUSE = 1.0
   pyautogui.FAILSAFE = True

   pyautogui.moveTo(center_x,center_y)
   pyautogui.dragTo(max_width,center_y,duration=0.25


あとはプログラムを"適当な名前".pyというように末尾にpyという拡張子をつけて保存し、Tinderオンライン画面を開いた状態で、ターミナルからpython "適当な名前".pyとしてプログラム起動させればOKです。

#利用方法
python ”適応な名前”.py


Tinder自動化ライフをお楽しみくださいませ。

しかしながら現状のプログラムでは問題があります。それは顔が写っていない女性も右スワイプをしてしまうことです。次回は簡単な顔検知を追加してTinder自動化の精度向上を行いたいと思います。

最後にご購入いただいた方には、お約束の超絶オススメのエロサイトを載せておきますね。私は業者でも何でもないので、当然無料のやつです。



超絶おすすめのエロサイト:Avgle


サポートいただいたお金は、サーバー代や書籍購入代として利用させていただきます。