LoginSignup
13
11

More than 5 years have passed since last update.

世界中で大流行のマッチングアプリ、「t○nder」のAPIを用いて遠隔サイバーナ○パをしてみた

Last updated at Posted at 2017-12-15

前提(保身)・・・

:warning:1.普段はこのようなことはしておりません:sweat:
:warning:2.普段忙しい方たちへ、出会いにおける機会損失防止のための実験という大義名分:point_up:

→t◯nderとは・・・https://ja.wikipedia.org/wiki/Tinder

t◯nderの意義や詳しい使い方などは今回の目的から外れるので省略。

今回試したいこと

PythonのT◯nder API Pynderを使って遠隔サイバーナンパをする。

方法

Pynderをインストールする
Facebookのアクセストークンの取得
遠隔ナンパを行いたい場所の緯度と経度を指定(東京周辺じゃつまらないので、今回はなんとなくドイツのベルリンを指定)
自動スワイプ:point_up_2:

さっそく準備を始める。

Pynderの用意

PythonでAPIをいじるためにPynderをインストール。

sudo pip install pynder

インストール完了。
確認してみる。

python -m pip freeze

いた。
スクリーンショット 2017-12-13 12.24.33.png

requestsの更新
念のため、以下のコマンドを実行する。

sudo pip3 install --upgrade requests

アクセストークンの取得

T◯nderはFacebook認証が必要なので以下を参考にアクセストークンを取得する。

Facebook認証するところで検証を開き、Networkタグを開く。
confirm?dpr=2というレスポンスの中に、アクセストークンが入っているので取得する。

for (;;);{"__ar":1,"__sf":"iw","payload":null,"jsmods":{"require":[["ServerRedirect","redirectPageTo",[],["fb464891386855067:\/\/authorize\/#signed_request=[ここにアクセストークンがある]&expires_in=6415",true,false],[]]]},"js":["kzs9X"],"bootloadable":{},"resource_map":{"kzs9X":{"type":"js","src":"https:\/\/www.facebook.com\/rsrc.php\/v3i-F-4\/yz\/l\/en_US\/oS3FMOV7Adn.js","crossOrigin":1}},"ixData":{},"lid":"6498942658397335857"}

正しくアクセストークンが設定されていないと、Unauthlized 401(認証エラー)になる。

自動スワイプLIKEスクリプトを作成

適当なワークスペースにPythonのファイルを作成する。

auto_liker.py
# coding: UTF-8

import pynder

facebook_auth_token = 'XXXXXX' # 取得したFBアクセストークンを入力

session = pynder.Session(facebook_auth_token)
session.matches()  # 既にマッチしたユーザー情報を取得
# session.update_location(LAT, LON) # 位置情報を更新(緯度、経度)
session.profile  # 自分のプロフィール。更新すると本体の方も更新される。
users = session.nearby_users()  # 近くにいるユーザーを取得。

for user in users:
    print('画像'),
    print(user.photos)

    print('名前'),
    print(user.name)

    print('年齢'),
    print(user.age)

    print('BIO'),
    print(user.bio)

    print('誕生日'),
    print(user.birth_date)

    print('最終ログイン時刻'),
    print(user.ping_time)

    print('距離'),
    print(user.distance_km)

    print('学校名'),
    print(user.schools)

    print('職業'),
    print(user.jobs)

    print('共通の友人数'),
    print(user.common_connections)

    if user.common_connections == []: # 共通の知り合いがいるユーザーはLIKEしないようにしてます。
        user.like()
        print('LIKE!!!!!')

    print('==============================================================================')

ファイルの存在するディレクトリに移動して、
python auto_liker.py
コマンドを実行すると、認証ができる。

Let's get to know Berliner!:flag_de:

緯度と経度はここで調べた。
http://www.geocoding.jp/?q=%E3%83%99%E3%83%AB%E3%83%AA%E3%83%B3

LAT:52.520007 LON: 13.404954

auto_liker.py
#緯度と経度を指定
LAT = 52.520007
LON = 13.404954
session.update_location(LAT, LON)

これを追記して再度、
python auto_liker.py
で実行!

:airplane:

・・・ほぼ全員プロフィールがドイツ語で書かれていて何を言っているのか全くわからなかったが、無事目的の遠隔サイバーナンパがこれでできるようになった。

※女性のみなさん、くれぐれも変な男性にはお気をつけください。

〜Ende〜
↑ドイツ語

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11