获取FB令牌Python

获取FB令牌Python,python,python-3.x,robobrowser,Python,Python 3.x,Robobrowser,我正在尝试将FB token发送到Tinder,但在提交确认表单后,我遇到了一些错误。我试图通过这个异常,但还是失败了 重新导入 导入机器人浏览器 导入系统 随机输入 导入时间 MOBILE_USER_AGENT='Mozilla/5.0(iPhone;CPU iPhone OS 11_2_5,如Mac OS X)AppleWebKit/604.5.6(KHTML,如Gecko)MOBILE/15D60 AKiOSSDK/4.29.0' FB_AUTH='https://www.facebook

我正在尝试将FB token发送到Tinder,但在提交确认表单后,我遇到了一些错误。我试图通过这个异常,但还是失败了

重新导入
导入机器人浏览器
导入系统
随机输入
导入时间
MOBILE_USER_AGENT='Mozilla/5.0(iPhone;CPU iPhone OS 11_2_5,如Mac OS X)AppleWebKit/604.5.6(KHTML,如Gecko)MOBILE/15D60 AKiOSSDK/4.29.0'
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获取访问令牌(电子邮件、密码):
s=robobrowser.robobrowser(user\u agent=MOBILE\u user\u agent,parser=“lxml”)
s、 打开(FB_认证)
##提交登录表单
f=s.获取表格()
f[“通过”]=密码
f[“电子邮件”]=电子邮件
s、 提交表格(f)
##单击对话框上的“确定”按钮,通知您已通过Tinder应用程序的身份验证
f=s.获取表格()
time.sleep(random.random()*1.5)
s、 提交表单(f,提交=f.提交字段[''确认])
##从http响应获取访问令牌
access\u token=re.search(r“access\u token=([\w\d]+)”,s.response.content.decode()).groups()[0]
返回访问令牌
email=sys.argv[1]
密码=sys.argv[2]
访问令牌=获取访问令牌(电子邮件、密码)
打印(访问令牌)
----------------------------------------------------------------------------
输出:

Traceback (most recent call last):
  File "TokenRefresh.py", line 33, in <module>
    access_token = get_access_token(email, password)
  File "TokenRefresh.py", line 23, in get_access_token
    s.submit_form(f, submit=f.submit_fields['__CONFIRM__'])
  File "C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site-packages\robobrowser\browser.py", line 343, in submit_form
    response = self.session.request(method, url, **send_args)
  File "C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 668, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 668, in <listcomp>
    history = [resp for resp in gen] if allow_redirects else []
  File "C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 247, in resolve_redirects
    **adapter_kwargs
  File "C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 640, in send
    adapter = self.get_adapter(url=request.url)
  File "C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 731, in get_adapter
    raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for... '

回溯(最近一次呼叫最后一次):
文件“TokenRefresh.py”,第33行,在
访问令牌=获取访问令牌(电子邮件、密码)
文件“TokenRefresh.py”,第23行,在get\u access\u token中
s、 提交表单(f,提交=f.提交字段[''确认])
文件“C:\Users\silva\AppData\Local\Programs\Python\36\lib\site packages\robobrowser\browser.py”,第343行,提交形式
response=self.session.request(方法、url、**发送参数)
文件“C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site packages\requests\sessions.py”,请求中第533行
resp=自我发送(准备,**发送)
文件“C:\Users\silva\AppData\Local\Programs\Python\36\lib\site packages\requests\sessions.py”,第668行,在send中
历史记录=[resp for resp in gen]如果允许,则重定向else[]
文件“C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site packages\requests\sessions.py”,第668行,在
历史记录=[resp for resp in gen]如果允许,则重定向else[]
文件“C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site packages\requests\sessions.py”,第247行,在resolve\u重定向中
**转接器
文件“C:\Users\silva\AppData\Local\Programs\Python\36\lib\site packages\requests\sessions.py”,第640行,在send中
adapter=self.get\u适配器(url=request.url)
文件“C:\Users\silva\AppData\Local\Programs\Python\Python36\lib\site packages\requests\sessions.py”,第731行,在get\U适配器中
raise InvalidSchema(“未找到“%s”的连接适配器%url)
requests.exceptions.InvalidSchema:找不到…的连接适配器

我可以得到响应,但代码仍然无法返回访问令牌。

这个
res=browser如何。提交表单(表单,提交=“\uu确认””
这个
res=browser怎么样。提交表单(表单,提交=”\uu确认)
经过进一步研究,我找到了解决方案

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)

经过进一步研究,我找到了解决办法

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)

我需要一个名字
如果提交不在submit\u fields.getlist(submit.name)中,则提交:AttributeError:'str'对象没有属性'name'
提交需要一个名称<代码>如果提交不在submit\u fields.getlist(submit.name)中,则提交:AttributeError:'str'对象没有属性'name'