如何从用户 ID 中找出 Instagram 用户名
How to figure out an Instagram username from the user id
我正在开发一个需要从 public Instagram API 抓取信息的程序。
我的代码使用端点 https://instagram.com/{username}/?__a=1
来获取有关用户的信息,并且为了即使在名称更改后也能唯一标识 Instagram 帐户,我存储了始终保持不变的 "id" 参数。
到目前为止,可以使用另一个 Instagram API 端点 https://i.instagram.com/api/v1/users/{id}/info/
来找出连接到给定帐户的当前用户名,但几天后它已被 Instagram 删除/几周前。
如果有人知道另一种从用户 ID 获取用户名的方法,我将不胜感激,因为我自己找不到,也无法在网上找到其他人的解决方案。
Ig 已经改变了这个端点的行为并且它是安全的。然而,这里的提示是错误message
{
"message": "useragent mismatch",
"status": "fail"
}
传递一个有效的 useragent
你可以跳过这个新的 security-check。分享一段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!
应该有一些插件允许您更改 headers 以便通过浏览器请求获得结果...
我正在开发一个需要从 public Instagram API 抓取信息的程序。
我的代码使用端点 https://instagram.com/{username}/?__a=1
来获取有关用户的信息,并且为了即使在名称更改后也能唯一标识 Instagram 帐户,我存储了始终保持不变的 "id" 参数。
到目前为止,可以使用另一个 Instagram API 端点 https://i.instagram.com/api/v1/users/{id}/info/
来找出连接到给定帐户的当前用户名,但几天后它已被 Instagram 删除/几周前。
如果有人知道另一种从用户 ID 获取用户名的方法,我将不胜感激,因为我自己找不到,也无法在网上找到其他人的解决方案。
Ig 已经改变了这个端点的行为并且它是安全的。然而,这里的提示是错误message
{
"message": "useragent mismatch",
"status": "fail"
}
传递一个有效的 useragent
你可以跳过这个新的 security-check。分享一段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!
应该有一些插件允许您更改 headers 以便通过浏览器请求获得结果...