2 回答

TA貢獻1818條經驗 獲得超7個贊
經過一番研究,我找到了解決方案。
import re
import robobrowser
import sys
import random
import time
MOBILE_USER_AGENT = "Tinder/7.5.3 (iPhone; iOS 10.3.2; Scale/2.00)"
FB_AUTH = 'https://www.facebook.com/v2.6/dialog/oauth?redirect_uri=fb464891386855067%3A%2F%2Fauthorize%2F&scope=user_birthday%2Cuser_photos%2Cuser_education_history%2Cemail%2Cuser_relationship_details%2Cuser_friends%2Cuser_work_history%2Cuser_likes&response_type=token%2Csigned_request&client_id=464891386855067&ret=login&fallback_redirect_uri=221e1158-f2e9-1452-1a05-8983f99f7d6e&ext=1556057433&hash=Aea6jWwMP_tDMQ9y'
def get_access_token(email, password):
s = robobrowser.RoboBrowser(user_agent=MOBILE_USER_AGENT, parser="lxml")
s.open(FB_AUTH)
## submit login form
f = s.get_form()
f["pass"] = password
f["email"] = email
s.submit_form(f)
## click the 'ok' button on the dialog informing you that you have already authenticated with the Tinder app
f = s.get_form()
try:
s.submit_form(f, submit=f.submit_fields['__CONFIRM__'])
#print(s.response.content.decode())
access_token = re.search(
r"access_token=([\w\d]+)", s.response.content.decode()).groups()[0]
except requests.exceptions.InvalidSchema as browserAddress:
#print(type(browserAddress))
#print(str(browserAddress))
access_token = re.search(
r"access_token=([\w\d]+)", str(browserAddress)).groups()[0]
return(access_token)
email = sys.argv[1]
password = sys.argv[2]
access_token = get_access_token(email, password)
添加回答
舉報