如何正确执行Facebook移动网站登录

docdev

我正在尝试开发一些代码以成功进行Facebook登录。现在,为了尽可能简化,我使用了mbasic.facebook.com地址。

我的代码如下(使用python最新版本中的请求):

if __name__ == '__main__':
    base_url = 'https://mbasic.facebook.com'
    with requests.session() as session:
    user_agent = (
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
        "AppleWebKit/537.36 (KHTML, like Gecko) "
        "Chrome/76.0.3809.87 Safari/537.36"
    )
    cookie = 'locale=it_IT;'

    default_headers = {
        'User-Agent': user_agent,
        'Accept-Language': 'it-IT,en;q=0.5',
        'cookie': cookie,
    }
    session.headers.update(default_headers)

    login_form_url = '/login/device-based/regular/login/?refsrc=https%3A%2F%2Fmbasic.facebook.com%2F&lwv=100&ref' \
                     '=dbl '

    r = session.get("https://mbasic.facebook.com/login/")
    page1 = BeautifulSoup(r.text, "lxml")
    form = page1.find('form')
    lsd = page1.find('input', {'name': 'lsd'})['value']
    jazoest = page1.find('input', {'name': 'jazoest'})['value']
    mts = page1.find('input', {'name': 'm_ts'})['value']
    li = page1.find('input', {'name': 'li'})['value']
    try_number = page1.find('input', {'name': 'try_number'})['value']
    unrecognized_tries = page1.find('input', {'name': 'unrecognized_tries'})['value']
    data = {'lsd': lsd, 'jazoest': jazoest, 'm_ts': mts, 'li': li, 'try_number': try_number,
            'unrecognized_tries': unrecognized_tries, 'email': credentials["email"], 'pass': credentials["pass"],
            'login': 'Accedi'}

    r = session.post(base_url + login_form_url, data=data, verify=False)

    # now, i need to complete the second part of the login

    h = open("first_login.html", "w", encoding="utf-8")
    h.write(r.text)

    c = BeautifulSoup(r.text, "lxml")
    form = c.find('a')
    action = form.get('href')
    r = session.get(base_url + action, data=data, verify=False)

    f = open("second_login.html", "w", encoding="utf-8")
    f.write(r.text)

现在,使用此代码,我可以作为登录用户成功获取我的家庭供稿。但是,问题开始于我尝试移动到某个特定的Facebook公共页面时,因为它返回的页面就像我未登录一样。当我尝试获取特定的帖子时,也会发生同样的奇怪的事情,因为它不会像在浏览器中一样向我显示任何评论。

我试图玩会话cookie,但无济于事。救命

docdev

解决方案是将用户代理更改为:

Mozilla/5.0 (BB10; Kbd) AppleWebKit/537.35+ (KHTML, like Gecko) Version/10.3.3.3057 Mobile Safari/537.35+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何正确执行Facebook移动网站登录

来自分类Dev

Javascript移动网站

来自分类Dev

如何跟踪/跟踪用户从移动网站到非移动网站中的购物车

来自分类Dev

移动网站未提供正确的数据-美丽的汤

来自分类Dev

如何使CSS在不同的移动网站上正常工作

来自分类Dev

Google(搜索)如何为其移动网站提供服务?

来自分类Dev

如何禁用(阻止)移动网站的水平滑动?

来自分类Dev

如何创建指向移动网站的子域

来自分类Dev

在本地测试移动网站

来自分类Dev

响应式移动网站

来自分类Dev

如何“访问移动Uber网站”?移动网站的深层链接错误

来自分类Dev

Facebook移动网站在Phantomjs中呈现不完整

来自分类Dev

如何使用.htaccess从移动网站重定向到完整网站

来自分类Dev

Android WebView无法加载移动网站

来自分类Dev

htaccess为移动网站重写

来自分类Dev

移动网站 找不到子域名

来自分类Dev

jQuery移动网站中的google map

来自分类Dev

CSS-移动网站响应异常?

来自分类Dev

移动网站上的z-Index

来自分类Dev

移动网站的响应式设计

来自分类Dev

从移动网站扫描条形码?

来自分类Dev

创建一个移动网站

来自分类Dev

iPhone或iPad用于测试移动网站

来自分类Dev

谷歌地图在jQuery的移动网站

来自分类Dev

HTML CSS脚注在移动网站上

来自分类Dev

移动网站中的Paypal订阅按钮

来自分类Dev

移动网站上的z-Index

来自分类Dev

夹层移动网站菜单删除

来自分类Dev

请求移动网站的代码示例