Python Instagram 使用请求登录

2023-12-02

我正在尝试使用 python 登录 Instagram。我能够获得 csrf 令牌,但是requests.Session().post()似乎没有正确地将登录数据发布到网站。我总是得到class="no-js not-logged-in client-root"。我已经搜索了一段时间,也尝试登录一些似乎有效的随机网站。在登录方法中我只是启动一个requests.Session()并向https://www.instagram.com/accounts/login/以登录名和密码作为data范围。

def login(self):
    with requests.Session() as s:
        p = s.post(self.loginUrl, data=self.loginData, allow_redirects=True)

另外,请不要告诉我使用 Selenium,我严格要求按照请求来执行此操作。


目前(2021 年 1 月)使用 Python 登录 Instagram 的可行解决方案如下:

def login(username, password):
    """Login to Instagram"""

    time = str(int(datetime.datetime.now().timestamp()))
    enc_password = f"#PWD_INSTAGRAM_BROWSER:0:{time}:{password}"

    session = requests.Session()
    # set a cookie that signals Instagram the "Accept cookie" banner was closed
    session.cookies.set("ig_cb", "2")
    session.headers.update({'user-agent': self.user_agent})
    session.headers.update({'Referer': 'https://www.instagram.com'})
    res = session.get('https://www.instagram.com')

    csrftoken = None

    for key in res.cookies.keys():
        if key == 'csrftoken':
            csrftoken = session.cookies['csrftoken']

    session.headers.update({'X-CSRFToken': csrftoken})
    login_data = {'username': username, 'enc_password': enc_password}

    login = session.post('https://www.instagram.com/accounts/login/ajax/', data=login_data, allow_redirects=True)
    session.headers.update({'X-CSRFToken': login.cookies['csrftoken']})

    cookies = login.cookies
    print(login.text)

    session.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Instagram 使用请求登录 的相关文章

随机推荐

  • 使用 .net 和 c# 从任务栏中删除应用程序图标

    我试图在任务栏上显示图标 我就是这样做的 ResourceManager resManager new ResourceManager TestAgent Properties Resources GetType Module Assemb
  • Mysql:如何在 LOAD DATA INFILE 查询中使用 RTRIM?

    在我的代码中 我有一个如下所示的查询 load query LOAD DATA LOCAL INFILE file INTO TABLE table FIELDS TERMINATED BY ENCLOSED BY 以下是我尝试加载的文件中
  • AngularJS中ng-repeat和collection-repeat之间的区别?

    我对 ng repeat 和 collection repeat 有一点困惑 NG 重复
  • 在 Chrome 中内联 javascript 重定向之前中断 javascript

    我正在查看一个具有内联 JavaScript 重定向的页面 window location anotherpage 我想在 Chrome 中加载页面 但禁用了重定向行 这样我就可以使用该页面而不会被重定向 这是我尝试过的 开发者工具 gt
  • 使用依赖注入框架时的抽象工厂

    我想知道在使用 DI 框架时如何正确使用抽象工厂 并且该工厂中的参数之一是应该由 DI 框架处理的依赖项 我不确定是否让我的抽象工厂完全省略参数 然后使用我的 DI 容器来连接它 或者是否应该将依赖项传递给对象 例如 我有一个 TcpSer
  • 两个片段之间的 onItemClickListener

    我对 android 很陌生 我已经尝试过 但无法找出我缺少的东西 我正在使用两个片段来显示列表 现在 当用户单击第一个列表项时 我想更改第二个片段中的列表数据 默认情况下 将选择零位置索引以在第二个列表中显示数据 我正在使用自定义数组适配
  • 如果第二个字段长于 7 个字符,则 awk 或 perl 单行打印行

    我有一个1000行的文件 每行有2个单词 用空格分隔 仅当最后一个单词长度大于 7 个字符时 如何打印每一行 我可以使用 awk RLENGTH 吗 perl 有没有简单的方法 OP 调用时使用 awk 的 RLENGTHmatch 功能
  • 如何在 Windows Phone 8 中解压缩文件

    是否可以在 Windows Phone 8 上的应用程序上解压缩文件 大多数库使用 Windows Phone 7 但不使用 Windows Phone 8 Even System IO Compression ZipFile不在这里 将此
  • 如何在android中使用SQLite数据库生成不同类型的报告?

    我正在开发一个Android应用程序 我需要在其中生成各种格式的不同类型的报告 我想生成 PDF XLS DOC 和文本文件格式的报告 所有数据都存储在SQLite数据库中 请指导我如何在android中实现它 您好 您可以使用以下代码生成
  • Cakephp 2.0 行/记录级 Acl

    我正在摆弄 cakephp 2 0 的访问列表 到目前为止 我按照文档创建了一个非常简单的示例 我已经建立了一个用户表和最重要的功能 如索引 添加 登录ecc 并且与组表相关 每个用户属于一个组 我还创建了一个 房屋 表 其中包含不同的内容
  • twilio 捕获错误不起作用

    我正在我的 Laravel 5 应用程序中实现 twilio 要在我使用的框架中使用它aloha laravel twilio一体化 发送有效请求测试凭证工作正常 当我想要实施时遇到问题错误处理 由于某种原因 catch 没有收到错误 这会
  • 我应该使用 HTML::Parser 还是 XML::Parser 来提取和替换文本? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我希望能够提取所有纯文本并从 HTML XHTML 文档中分析 修改 然后根据需要进行替换 我可以使用以下方法来做到这一点吗HTML 解析器或者应该是XML 解析器 有没有人知道有什
  • 解释 Ruby on Rails 中的迭代器语法

    我开始学习 Ruby on Rails 发现自己对语法感到困惑 所以我必须阅读一些 Ruby 语法 我从中学到了语法http www cs auckland ac nz references ruby doc bundle Manual m
  • PyQt QThread 多线程不起作用

    I have 2 QListWidget lists List2 is being filled when some item has been selected from List1 问题是 在填充 List2 之前 我必须执行很多任务
  • 清除页面中的所有单选按钮

    我的应用程序中有很多动态生成的单选按钮Windows 窗体项目 可以根据数据库中的值来检查它们 我想通过单击按钮清除所有单选按钮 我怎样才能做到这一点 检查一下 private void button1 Click object sende
  • Visual Studio“任何 CPU”目标是什么意思?

    我对 Visual Studio 2008 中的 NET 平台构建选项有一些困惑 什么是 Any CPU 编译目标 它会生成什么类型 的文件 我检查了这个 任何 CPU 构建的输出可执行文件 发现它们是 x86 可执行文件 谁不会看到这一点
  • 通过需要考虑多种成本的矩阵的最佳路径

    例如给出以下矩阵 0 8 0 3 0 8 8 0 3 0 0 5 0 1 0 6 0 0 对于每个元组 第一个数字是食物 第二个数字是水 我需要从右下角到左上角 并且只能向上或向左移动 我需要收集尽可能多的食物和水 这样我才能活得尽可能长
  • XML 元素不会触发 TextBox ConvertBack 事件

    ValueFormattingConverter Convert被称为XmlElement ConvertBack从未被调用过 为什么 是否有义务将具有约束力的指令向下传递 文本框的使用是否会覆盖其自身的绑定设置 可以做什么 我的文本框
  • System.gc()什么时候做某事?

    我知道Java中垃圾收集是自动的 但我明白如果你打电话System gc 在您的代码中 JVM 可能会也可能不会决定在此时执行垃圾收集 这具体是如何运作的 当 JVM 看到时 它到底根据什么基础 参数决定执行 或不执行 GCSystem g
  • Python Instagram 使用请求登录

    我正在尝试使用 python 登录 Instagram 我能够获得 csrf 令牌 但是requests Session post 似乎没有正确地将登录数据发布到网站 我总是得到class no js not logged in clien