どーも、ひまお(@himanarikei)です。
前回、Tinderの自動化アプリを紹介しましたが、実際に簡単なプログラムで自分でも似たようなものを作れるのじゃないかな〜と思って調べてみたら意外に出来たので紹介します。
あわせて読みたい
Tinder自動化アプリ Fire for Tinderの使い方
プログラミングに興味がある人、やったことないけどやってみたいという人はぜひ今回の記事を参考にして試してもらえると嬉しいです。
目次
開発環境(Mac)
・macOS Sierra 10.12.2
・Python 3.6.2
・Atom(エディタ)
環境構築
https://qiita.com/yoshizaki_kkgk/items/4663148a2b3ca078ddbc
僕は上のサイトを見て、環境を構築しました。
ただ、Macではデフォルトでpython2.7が入っておりpythonの3系をデフォルトで使うのにはちょっとした設定が必要なのですが、僕はpyenvというものを使ってpythonのバージョンを自由に切り替えられるようにしました。
以下の記事がわかりやすいです。
pyenvを使ってMacにPythonの環境を構築する – Qiita
これでMacでpython3の開発環境が整いました。
今回は、python3.6.2で開発していきます。
PythonでTinder自動ライク機能を実装する
1.Pynderをインストールする
https://github.com/charliewolf/pynder
上のサイトからPynderというPythonでTinderのAPIを利用するものをダウンロードしてきます。
今回は、デスクトップ上にTinderというフォルダを作り、そこにダウンロードしたファイル(pynder-master)を解凍して置くことにします。
pynder-masterの中に入っているpynderというファルダをコピーしてTinderフォルダ直下に移動させておきます。
そして、Tinder.pyというファイルを作ってTinderフォルダに入れておきます。
これで準備は完了です。
2.Pythonプログラムを書いていく
今回は、自分のいる場所を緯度と経度から設定して近くにいるユーザーの情報(名前、学校、プロフィール、年齢)などを取得して全員にライクを送るという簡単な機能を実装します。
こちらのサイトを参考にしました。
Pynder PythonでTinderのAPIをいじる
先ほど作ったTinder.pyというファイルに以下のようなコードを書いていきます。
import pynder
session = pynder.Session("Facebook ID" , "Facebook Token")
session.matches() # get users you have already been matched with
#緯度と経度を指定
LAT = 35.650615
LON = 139.540694
session.update_location(LAT, LON) # updates latitude and longitude for your profile
session.profile # your profile. If you update its attributes they will be updated on Tinder.
users = session.nearby_users() # returns a list of users nearby
for user in users:
print(user.name)
print(user.schools)
print(user.bio)
print(user.age)
user.like()
2行目のsessionというところで自分のFacebook IDとFacebook Tokenが必要になります。
Facebook IDはこちらのサイトから取得できます。
Facebook Tokenに関しては少し特殊な入手方法をしているので次の章で詳しく説明していきます。
緯度と経度に関しては、こちらのサイトから入手できます。
Geocoding – 住所から緯度経度を検索
あとは、usersというもので近くのユーザーを拾ってきて、for文でひたすらそれらのユーザーの情報を抜き出してライクを送るというシンプルな機能になっています。
他にもいろいろな情報が抜き出せたりするので、興味のある方はこちらのサイトの下の方にいろいろ書いてあるので試して見てください。
charliewolf/pynder
3.Facebook Tokenの入手法
先ほどの、コードで必要なFacebook Tokenの入手法に関して説明していきます。
まず、こちらのサイトに行って、GET STARTEDボタンを押します。
そうすると、このような画面が出てくると思います。
ここでOPEN FB AUTH DIALOGというボタンを押すと、自分のFBページに飛びTinderと連携しますか?みたいなダイアログが出てくるので、そこでデベロッパーツール( (Cmd + Option + I on Mac) or (F12, Ctrl + Shift + I on Windows) )を開き、Networkタブをクリックしておきます。
それを開いた状態で、OKを押すと、Networkタブに以下のようなものが出力されます。
これの3つ目のconfirm?dpr=1というものを右クリックして、Copy→Copy Responseを選択します。
そして、先ほどの初期の画面に戻って、一番下のSTEP4のところに先ほどコピーしたものを貼り付けます。
そして、またデベロッパーツールのネットワークタブを開いた状態でSUBMITボタンを押します。
そうすると、次のような画面でネットワークタブにauthというものが出てくるのでそれを開くと、中にtoken:~~~~~~~~~~~~~~~~~という感じで文字列が並んでいます。
その文字列がFacebook Tokenになります。
注意点としては、このFacebook Tokenの有効期限は2時間くらいで、このトークンを入れてプログラムを実行した時にRequest error401が出たら、トークンの有効期限が切れているという意味なので、先ほどと同じ手順で新しいトークンを入手するようにしましょう。
4.Pythonプログラムを実行していく
以上で、FacebookTokenも入手してようやくプログラムが実行できるようになります。
先ほどのプログラムの”FacebookID” と”Facebook Token”の部分を自分が入手したものにそれぞれ置き換えて保存します。
そしてターミナルを開いて、以下のコマンドを入力します。
cd Desktop/Tinder/
これでデスクトップのTinder フォルダに移動します
python Tinder.py
そして、Tinder.pyファイルを実行します
すると、ターミナルの画面上にズラ〜と近くにいるユーザーの情報が出力されると思います。
もし実行した際にエラーが出たら、そのエラー文をコピーして検索すれば誰かが解決策を提案してくれていることが多いので頑張ってエラーを直していきましょう。
[追記]自動化ツール販売
プログラミングが出来ない方向けに自動化ツールを販売開始いたしましたので、ご興味のある方はご参照ください。
【Mac版、Windows版】Tinder自動スワイプ(いいね)ツール売ります
まとめ
今回は、Pythonを使ってすごくシンプルなTinderで自動ライクを送る機能を実装しました。
プログラミングを勉強したいけど、何から始めれば良いかわからないという方はこのような簡単なものでも良いので実際に自分で何か作ってみることから始めると、楽しくてモチベーションが続きやすいと思います。
僕自身もプログラミングは全然得意ではなかったのですが、1、2日で環境構築〜簡単な機能の実装まで出来ました。
ぜひ、暇つぶしにトライしてみてください。
あわせて読みたい