Für diejenigen, die sie wollen, aber keine Zeit haben, möchte ich + alpha den passenden App-Zunder automatisieren, der kostenlos und einfach zu bedienen ist.
・ Facebook-Konto ・ Zunder-Konto Bitte benutzen Sie Facebook für die Zunderregistrierung für die Automatisierung. Für diejenigen, die verwirrt sind, empfehlen wir, ein neues Konto zu erstellen, um Kahlheit zu verhindern (lacht).
Sie müssen ein Zugriffstoken erhalten, um sich mit der API bei tinder anzumelden. Bitte beachten Sie, dass sich die Methode zum Abrufen von Zugriffstoken aufgrund von Änderungen der Site-Spezifikationen usw. sofort ändert. Daher besteht die Möglichkeit, dass Sie die Methode, die Sie jetzt ausführen können, nicht verwenden können. Ich stecke hier ziemlich fest. Legen Sie zuerst die Bibliothek ab, die den Zunder-Token erhält. (Referenz: https://pypi.org/project/tinder-token/)
pip install tinder-token
Versuchen Sie einmal, das folgende Programm zu erstellen und auszuführen. Wenn Sie nicht über die erforderliche Bibliothek verfügen, fügen Sie diese bitte entsprechend hinzu.
get_token.py
from tinder_token.facebook import TinderTokenFacebookV2
mail = "E-Mail-Adresse für Facebook-Login"
password = "Facebook Passwort"
facebook = TinderTokenFacebookV2()
def sample_email_password(email: str, password: str) -> (str, str):
return facebook.get_tinder_token(fb_email=email, fb_password=password)
api_token = sample_email_password(mail,password)[0]
print(api_token)
Wenn Sie dies ausführen und eine lange Zeichenfolge angezeigt wird, ist die Erfassung erfolgreich.
Nachdem Sie den API-Code mit dem vorherigen Code haben, können Sie sich endlich anmelden.
import requests
s = requests.Session()
#Melden Sie sich bei Tinder an
headers = {"X-Auth-Token": api_token, "Content-type": "application/json",
"User-agent": "Tinder/10.1.0 (iPhone; iOS 12.1; Scale/2.00)"}
s.headers.update(headers)
meta = s.get("https://api.gotinder.com/meta")
print(meta.text)
Fügen Sie das zuvor erhaltene API-Token in die Variable api_token ein. Es ist einfacher, die Kabel anzuschließen, daher empfehlen wir, sie anzuschließen. Es ist in Ordnung, wenn Ihre Informationen hintereinander ausgegeben werden.
Sie können Benutzerinformationen in der Nähe Ihrer Lieblingspunkte sammeln, indem Sie die Breiten- und Längengrade im Beitrag übergeben. In der Benutzervariablen werden verschiedene Informationen wie der Name des Benutzers und das ID-Foto gespeichert. Da dieses Programm den Namen erhält, sollte der Name reibungslos ausgegeben werden.
url = "https://api.gotinder.com/" + endpoint
latitude = "Breite"
longitude = "Längengrad"
params = {"lat": latitude, "lon": longitude}
response = s.post(url, data=json.dumps(params))
limit = 10
params = {"limit": limit}
for i in range(3):
users = s.post("https://api.gotinder.com/user/recs", data=json.dumps(params))
content = users.content
if len(content) > 0:
content = content.decode("utf-8")
content = json.loads(content)
else:
break
#print(content)
for user in content["results"]:
#print(user)
print(user["name"])
Es ist möglich, jede ID zu mögen, indem Sie / get / {id} mit get drücken.
url = "https://api.gotinder.com/" + endpoint
latitude = "Breite"
longitude = "Längengrad"
params = {"lat": latitude, "lon": longitude}
response = s.post(url, data=json.dumps(params))
limit = 10
params = {"limit": limit}
for i in range(3):
users = s.post("https://api.gotinder.com/user/recs", data=json.dumps(params))
content = users.content
if len(content) > 0:
content = content.decode("utf-8")
content = json.loads(content)
else:
break
#print(content)
for user in content["results"]:
#print(user)
print(user["name"])
id = user["_id"]
#Wische nach rechts
s.get("https://api.gotinder.com/like/{}".format(id))
Es ist wahr, dass die Anzahl der Begegnungen wichtig ist, aber ich dachte an eine Option für diejenigen, die immer noch Qualität wollen. Kennen Sie die Face ++ API? FaceAPI wurde von einem chinesischen Unternehmen entwickelt und ist eine erschreckende API, die die Schönheit des Gesichts, den sogenannten Gesichtsabweichungswert, bewertet. Das Tolle an dieser API ist, dass sie kostenlos verwendet werden kann.
Registrieren Sie sich unter der folgenden URL. https://console.faceplusplus.com/register Sehen Sie sich nach dem Anmelden die Seite API-Schlüssel an und notieren Sie sich den API-Schlüssel und das API-Geheimnis.
Es wird zu einer Klasse gemacht, die die Zusammenarbeit mit Zunder in Betracht zieht. Platzieren Sie das Foto, das Sie beurteilen möchten, im selben Verzeichnis wie das Programm und setzen Sie test.jpeg auf den Dateinamen des Bildes, das Sie beurteilen möchten. Die Punktzahl wird ausgegeben. Herr Shin 〇〇 war übrigens 88,74 Punkte. Es ist eine wirklich hohe Punktzahl. Ich denke, es ist eine gute Idee, einige davon selbst auszuprobieren und die Marktansicht zu sehen.
faceplus
import requests
import base64
class FacePlus:
def __init__(self,key,secret):
self.key = key
self.secret = secret
self.endpoint = 'https://api-us.faceplusplus.com'
def judge_face(self,path):
img_file = base64.encodestring(open(path, 'rb').read())
response = requests.post(
self.endpoint + '/facepp/v3/detect',
{
'Content-Type': 'multipart/form-data',
'api_key': self.key,
'api_secret': self.secret,
'image_base64': img_file,
'return_attributes': 'gender,age,headpose,facequality,eyestatus,emotion,ethnicity,beauty,mouthstatus'
}
)
result = response.json()
return result["faces"][0]["attributes"]["beauty"]["female_score"]
if __name__ == '__main__':
key = "API token"
secret = "API secret"
fp = FacePlus(key, secret)
print(fp.judge_face("test.jpeg "))
#Funktioniert mit Zunder automatisch Vorsichtsmaßnahmen ・ Für diejenigen, die mehrere Fotos haben, beziehen Sie sich auf das erste. -Es ist notwendig, einen tmp-Ordner zu erstellen, und Fotodaten werden im tmp-Ordner gespeichert.
import requests
import json
import os
from tinder_token.facebook import TinderTokenFacebookV2
import urllib.error
import urllib.request
import faceplus
facebook = TinderTokenFacebookV2()
key = "face++_api"
secret = "face++_api_secret"
mail = "facebook_mail"
password = "facebook_password"
border = 75
fp = faceplus.FacePlus(key,secret)
def sample_email_password(email: str, password: str) -> (str, str):
return facebook.get_tinder_token(fb_email=email, fb_password=password)
def download_file(url, dst_path):
try:
with urllib.request.urlopen(url) as web_file:
data = web_file.read()
with open(dst_path, mode='wb') as local_file:
local_file.write(data)
except urllib.error.URLError as e:
print(e)
def download_file_to_dir(url, dst_dir):
download_file(url, os.path.join(dst_dir, os.path.basename(url)))
# Holen Sie sich Zunder Token
api_token = sample_email_password(mail,password)[0]
s = requests.Session()
# Melden Sie sich bei Tinder an
headers = {"X-Auth-Token": api_token, "Content-type": "application/json",
"User-agent": "Tinder/10.1.0 (iPhone; iOS 12.1; Scale/2.00)"}
s.headers.update(headers)
meta = s.get("https://api.gotinder.com/meta")
print(meta.text)
endpoint = "v2/meta"
# Shibuya Breiten- und Längengrad
latitude = 35.658034
longitude = 139.701636
params = {"lat": latitude, "lon": longitude}
url = "https://api.gotinder.com/" + endpoint
response = s.post(url, data=json.dumps(params))
limit = 10
params = {"limit": limit}
name_list = []
for i in range(3):
users=s.post("https://api.gotinder.com/user/recs", data=json.dumps(params))
content = users.content
if len(content) > 0:
content = content.decode("utf-8")
content = json.loads(content)
else:
break
#print(content)
for user in content["results"]:
#print(user)
print(user["name"])
id = user["_id"]
name_list.append(user["name"])
photo = user['photos'][0]
Erstellen Sie eine # tmp-Datei
dst_dir = 'tmp/'
print(photo['url'])
#Datei speichern
download_file_to_dir(photo['url'], dst_dir)
f_name = photo['url'].split('/')[-1]
print(f_name)
try:
score = fp.judge_face("./tmp/"+f_name)
print(score)
if(score >= border):
#Rechts Wischen
s.get("https://api.gotinder.com/like/{}".format(id))
except:
print("error")
#Zusammenfassung Obwohl es gut zu machen war, war ich zufrieden, als es fertig war und ich konnte das Demonstrationsexperiment doch nicht durchführen. Es ist eine schlechte Sache bei Ingenieuren, deren Zweck sich unterwegs ändert.(Lol)。
Befolgen Sie die Regeln und haben Sie ein lustiges Zunderleben!
#Verweise
[1]https://qiita.com/Fulltea/items/fe4d4214552476c28e88 [2]https://note.com/ryohei55/n/n72084219f751
Recommended Posts