Tinder自動化しました

2019年3月25日未分類

どうもどうも。

風邪をひいて咳が止まらず、その結果腹筋が鍛えられてきました
haxpigです。

前回「Tinderはじめました」を書きましたが、今回はその続きと言うか番外編です。

 

 さすが俺。
さすが俺。
https://haxpig.com/tinder%E3%81%AF%E3%81%98%E3%82%81%E3%81%BE%E3%81%97%E3%81%9F/
WebエンジニアによるWeb関連の色々と趣味雑多。たぶん。

↑前回記事↑

 

 


事の発端

 

前回の記事に書いた通り、僕は全員Likeしてます。
英語で会話がしたい、と言う動機の元で利用しているので。

となると、毎回毎回Tinder開いてはLikeを連打しているわけです。

プログラマーとして
日々繰り返していることは可能な限りプログラムで済ませたくなるのが性
ですよね。

と言うか、こんなの人のやる作業じゃない、とさえ思ったわけです。

 


どうするか

 

自動化します。

 


どうやって

 

今回はJavaScriptを利用しました。

先に書いておきますが、APIとかスクレイピングは利用していません。

あとコードはあえて載せません
HTMLとJavaScriptの中々いい勉強になると思ったので、考え方だけ書きます。

慣れてる人は10,20分程度で実装できるかと思います。

 

作業手順としては、

  1. HTMLを読み解く
  2. 欲しい要素を取得する
  3. 取得した要素のイベントを発火させる
  4. 繰り返し処理にする

になります。

 

1. HTMLを読み解く

 

まずは目的の要素を探します。
HTMLタグにはidclassが付与されていて、
その値によって識別できるようになっているので、
該当の要素に何のid,classclassが付いているか見つけます。

一意のものがあるととても嬉しいですね。

 

2. 欲しい要素を取得する

 

欲しい要素が見つかったら取得します。
JavaScriptのgetElementsByIdgetElementsByClassNameを使えば容易に取得できます。

getElementsByClassNameの場合、配列が返ってきますので注意しましょう。

 

3. 取得した要素のイベントを発火させる

 

欲しい要素が取得できたらイベント発火です。

イベントと言うのはclickとかhover
Tinderであればスワイプやキー操作もイベントですね。

 

上手くいけばこの時点で1件Likeすることができるはずです。

 

 

4. 繰り返し処理にする

 

1件できたらあとはもう繰り返し処理にするだけです。
が、単純にfor文を使うだけでは全然想定の動きをしてくれません。

 

それもそのはず、
コンピュータの繰り返し処理は人間のそれよりも遥かに速いわけですし、
カードが右に消えて次のカードが出てくるまで時間がかかりますからね。

 

なので、一定間隔で処理が繰り返されるようにしましょう。

 

 


結果

 

快適です。

とっても快適です。

あと見てて楽しいです。
何もしてないのにどんどんスワイプされていく・・・。

応用すればhookerやtherapistを除外することも比較的容易にできそうですね。

 

以上。

Have a nice day!!

未分類

Posted by haxpig