如何从用户ID中找出Instagram用户名

赫孔斯蒂

我正在开发一个程序,该程序需要从公共Instagram API抓取信息。

我的代码使用端点https://instagram.com/{username}/?__a=1获取有关用户的信息,并且即使在更改名称后也能唯一标识Instagram帐户,我存储了始终保持不变的“ id”参数。

到目前为止,可以使用另一个Instagram API端点https://i.instagram.com/api/v1/users/{id}/info/来查找连接到给定帐户的当前用户名,但几天/几周前Instagram已将其删除。

如果有人知道从用户ID获取用户名的另一种方式,我将不胜感激,因为我既找不到自己的东西,也找不到在线其他人提供的解决方案。

xecgr

Ig更改了此端点行为,并已将其保护。但是,这里的提示是错误message

{
"message": "useragent mismatch",
"status": "fail"
}

传递有效的useragent密码可以跳过此新的安全检查。让我分享一段python代码

import requests
def get_user_by_user_id(user_id):
    user = {}
    if user_id:
        base_url = "https://i.instagram.com/api/v1/users/{}/info/"
        #valid user-agent
        headers = {
            'user-agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 105.0.0.11.118 (iPhone11,8; iOS 12_3_1; en_US; en-US; scale=2.00; 828x1792; 165586599)'
        }
        try:
            res       = requests.get(base_url.format(user_id),headers=headers)
            user_info = res.json()
            user      = user_info.get('user',{})
        except Exception as e:
            print("getting user failed, due to '{}'".format(e.message))
    return user

user_id=<your_user_id>
get_user_by_user_id(user_id) #ta-dah!

应该有一些插件可以让您更改标题,以便通过浏览器请求获得结果...

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章