Es gab so ein Bash-Skript im Kern. Wenn Sie Tinder unter Android starten und ausführen, können Sie anscheinend weiter nach rechts wischen (: heart :).
while true; do
./adb shell input swipe 100 400 4000 400 400;
done
https://gist.github.com/lawloretienne/4f044bde3eb8de67e2ae
Wie einfach es ist! bewegt sein. Ich beschloss, Tinder sofort zu starten. Aber Zunder hat ein Schlaglimit, sagte er. Wenn ein freier Benutzer ungefähr 120 Mal wischt, kann er für einen bestimmten Zeitraum nicht wischen. Es scheint, dass diese Einschränkung aufgehoben wird, wenn Sie sich für bezahlten Geschlechtsverkehr registrieren. Etwa 1000 Yen pro Monat. Morgen ist ein zierliches Fasten.
TinderBot
Das Wesentliche oben ist einfach und wunderbar. Niemand denkt, dass Sie, selbst wenn Sie dies bei der Arbeit spielen, mit Tinder herumspielen. Genau wie ein Ninja.
Dies misst jedoch nicht, welche Art von Menschen in Tinder sind und welche Art von Menschen: Herz :. Es ist Tom Demarcos Spruch: "Ich kann nicht kontrollieren, was ich nicht messen kann", und es ist keine Übertreibung zu sagen, dass es eine Schande für einen Mann ist, wenn Sie die Frauen, die zu mir strömen, nicht kontrollieren können (natürlich, stimmt das?). Was sollen wir dann tun?
Drücken Sie einfach die API. Es war einfach, als ich darauf kam. Es ist alles andere als einfach, aber ich habe einen Client für Python gefunden, mit dem ich vertraut bin. Deshalb habe ich zuerst einen Bot geschrieben, der die Informationen der Person speichert, die 10.000 Mal in SQLite gewischt hat.
Die Umgebung des Autors ist Ubuntu 14.04 LTS, daher gibt es eine kleine Vorbereitung. Was für eine große Sache.
$ sudo apt-get install build-essential python-dev libffi-dev libssl-dev
$ pip install pyopenssl ndg-httpsclient pyasn1 requests[security] python-datetimeutil SQLAlchemy
Als nächstes erhalten Sie Ihre Facebook-Benutzer-ID und Ihr Zugriffstoken.
Benutzer-ID ist diese Site http://findmyfbid.com/
Das Zugriffstoken kann jetzt ausgestellt werden. Sie müssen nur die URL aus der Adressleiste kopieren, bevor Sie umgeleitet werden. Das Zugriffstoken ist in den GET-Parameter der URL eingebettet. Dieser Token verschwindet in kurzer Zeit (1 bis 2 Stunden). https://www.facebook.com/dialog/oauth?client_id=464891386855067&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=basic_info,email,public_profile,user_about_me,user_activities,user_birthday,user_education_history,user_friends,user_interests,user_likes,user_location,user_photos,user_relationship_details&response_type=token
Wenn es real ist, kann sogar eine Person: Herz: mit beträchtlicher Bereitschaft, aber mit Zunder kann es tun: Herz: für 10.000 Menschen. Übrigens berechnen und beseitigen wir derzeit die Beschränkungen für die Region und das Alter. Entfernung und Altersunterschied hängen nicht mit Liebe zusammen. Übrigens dauert es bisher am längsten, über den Profilsatz nachzudenken.
from __future__ import unicode_literals
from datetime import datetime
from sqlalchemy import Column
from sqlalchemy import create_engine
from sqlalchemy import Date, DateTime
from sqlalchemy import Float, ForeignKey
from sqlalchemy import Integer
from sqlalchemy import SmallInteger
from sqlalchemy import String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy.orm import sessionmaker
import pynder
FBTOKEN = 'Facebook-Token habe ich bekommen'
FBID = 'Ich habe meine Facebook-ID erhalten'
engine = create_engine('sqlite:///tinder.sqlite3', echo=True)
Session = sessionmaker(bind=engine)
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
bio = Column(String)
age = Column(SmallInteger)
birth_date = Column(Date)
ping_time = Column(DateTime)
distance_km = Column(Float)
get_photos = relationship('Photo')
schools = relationship('School')
jobs = relationship('Job')
class Photo(Base):
__tablename__ = 'photos'
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey('users.id'))
url = Column(String)
class School(Base):
__tablename__ = 'schools'
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey('users.id'))
name = Column(String)
class Job(Base):
__tablename__ = 'jobs'
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey('users.id'))
name = Column(String)
def like_tinder_users(limit):
sql_session = Session()
session = pynder.Session(FBID, FBTOKEN)
nearby_users = session.nearby_users(limit)[:limit]
for user in nearby_users:
photos = [Photo(url=url) for url in user.get_photos(width='640')]
schools = [School(name=name) for name in user.schools]
jobs = [Job(name=name) for name in user.jobs]
sql_user = User(
name=user.name,
bio=user.bio,
age=user.age,
birth_date=user.birth_date,
ping_time=datetime.strptime(user.ping_time, '%Y-%m-%dT%H:%M:%S.%fZ'),
distance_km=user.distance_km,
get_photos=photos,
schools=schools,
jobs=jobs,
)
sql_session.add(sql_user)
user.like()
sql_session.commit()
sql_session.close()
if __name__ == '__main__':
Base.metadata.create_all(engine)
for i in range(1, 1001):
like_tinder_users(10)
print('I liked {} women xD'.format(i * 10))
Eigentlich habe ich den Code geschrieben, um die Authentifizierung mit Selenium + phantomjs zu automatisieren, daher habe ich den Vorgang nicht bestätigt, aber es scheint so.
Ich bin der Meinung, dass die Geschwindigkeit der Zeicheneingabe von Android nur etwa 10% schneller ist als die der Tastatur. Mit anderen Worten, wenn Sie mit vielen Frauen übereinstimmen, kann die Eingabe von Charakteren zu einem Engpass werden. Viele Dating-Dienste haben eine Webversion, daher ist dies kein Problem, aber Tinder hat keine Webversion. Also beschloss ich, wieder die Hilfe meines Vorgängers zu bekommen.
Es ist eine inoffizielle Desktop-Version. Es wird mit NW.js anstelle des kürzlich beliebten Electron hergestellt. Aber es gibt keine Linux-Version? Mach dir keine Sorgen. Ich werde nur die Build-Datei ändern. Glücklicherweise gab es eine Person, die [diesen Patch] erstellt hat (https://github.com/afarah1/tinderplusplus/commit/615e862609c44e0540a1bdd7ff89f1fb481fae86). Ich habe jeden Master geklont und entsprechend dem Diff umgeschrieben, und es hat perfekt mit Trusty funktioniert. Es ist egoistisch und ich bin bereit es zu tun.
Unabhängig davon, wie viele Daten in die Datenbank eingegeben werden, ist dies völlig bedeutungslos, es sei denn, die Aufschlüsselung ist bekannt. Ich möchte mit [seaborn] schnell schöne Daten anzeigen (https://stanford.edu/~mwaskom/software/seaborn/). Aber im Moment ist das Match 0,15% (immer noch 0,05% besser als beim ersten Posten), und als ich dachte, die Frau hätte mit mir gesprochen, war es Amway (), also werde ich etwas länger schlafen. An Wochenenden möchte ich mich der Herausforderung der Visualisierung stellen, während ich mit einem Rundgang durch Einrichtungen aufstrebender Religionen und einer Einweisung in Amway / antike Kunst beschäftigt bin.
Recommended Posts