首页 > 解决方案 > 该网站的新版本是否有任何 Instagram Web API?

问题描述

您可以在新版本中进行 dm,我认为有一些简单的 GET 和 POST 请求,而无需访问官方的 instagram API。
我不想使用模拟应用程序或类似应用程序的机器人,因为我可以为此获得禁令。

试图在开发工具(谷歌浏览器)的网络选项卡中查看 XHR,但我以前从未这样做过,对此我有一些麻烦。我看到了请求、标头、响应(消息在哪里),但我无法定义如何使用 python 来做到这一点。

我正在寻求帮助或任何现成的解决方案(对于 python 来说不是必需的,我想我可以将它们移植到 python 或只使用为 api 编写的语言)

编辑:
链接看起来像这样(对于收件箱页面):
https://www.instagram.com/direct_v2/web/inbox/?persistentBadging=true&folder=0&limit=10&thread_message_limit=10 和大量的标题

标签: pythoninstagraminstagram-api

解决方案


Instagram 发送带有光标的请求,以分块加载直接消息数据。

它的响应有prev_cursor& oldest_cursor

  1. oldest_cursorvalue 是您需要为下一个消息块发送的下一个游标值
  2. prev_cursorvalue 变为MINCURSOR时,表示它是最后一个块,表示已在聊天历史记录中启动的消息的第一个块。

我一直在编写一个脚本来取消发送 Instagram DM 上的所有消息。对于删除消息,我需要先获取消息,所以我编写了提供所有消息的函数。

您可以查看存储库https://github.com/pishangujeniya/instagram-helper

对于获取消息,Instagram API 请求没有限制。但是对于删除请求,Instagram 在我们在单个会话中删除 83 条消息后开始发送 429 响应代码,即太多请求。继续删除的解决方案是注销并在一段时间后重新登录。但也存在问题,如果注销和登录次数过多,Instagram 会阻止您的帐户在特定时间段内登录。(在我的情况下,我在开发脚本时被阻止登录 30 分钟)

2020 年 4 月 20 日更新

我更新了请求之间有延迟的脚本,以避免 429 响应,到目前为止它工作得很好。


推荐阅读