Instagram 给定用户id,如何查找用户名?

Instagram 给定用户id,如何查找用户名?,instagram,instagram-api,Instagram,Instagram Api,我有数千个instagram用户ID的列表。如何获取他们的Instagram用户名/句柄?您必须使用此Instagram API: https://api.instagram.com/v1/users/{user-id}/?access_token=ACCESS-TOKEN 响应将包含用户名、全名、简历、关注者数量和其他信息 但您必须先获得Instagram的批准,然后才能访问API 您可以尝试,它允许您搜索id并获取用户结果,但如果您没有获得批准的instagram应用程序,则逐个搜索并获取

我有数千个instagram用户ID的列表。如何获取他们的Instagram用户名/句柄?

您必须使用此Instagram API:

https://api.instagram.com/v1/users/{user-id}/?access_token=ACCESS-TOKEN
响应将包含用户名、全名、简历、关注者数量和其他信息

但您必须先获得Instagram的批准,然后才能访问API


您可以尝试,它允许您搜索id并获取用户结果,但如果您没有获得批准的instagram应用程序,则逐个搜索并获取信息将是一个手动过程。我建议您使用此php库:

或直接访问:

https://www.instagram.com/query/?q=ig_user(3){id,username,external_url,full_name,profile_pic_url,biography,followed_by{count},follows{count},media{count},is_private,is_verified}

更新:此url不再工作。你需要使用POST。请参见《回购协议》了解如何操作

既然已批准答案中引用的Instagram API是,您将不得不求助于另一个答案中所述的抓取。话虽如此,我最终还是这样做了,因为我试图弄清楚一个用户把用户名改成了什么

以下是我发现的:如果你有一个用户ID,你很可能是在抓取或使用类似的东西。如果是这样的话,你很可能会有一个媒体页面的直接URL,看起来像:获取新用户名的最简单方法就是直接转到该URL,该URL将被新用户名更新。如果要使其自动化,那么从页面的
元素中提取新用户名非常容易


我知道原始海报的问题与此稍有不同,但希望这对最终出现在该页面上的一些人来说是一个解决方案。

从用户(例如)用python发布的帖子中获取屏幕名称:

import requests, re, json
from bs4 import BeautifulSoup
r = requests.get('https://www.instagram.com/p/Bqfhjk_AMTq/')
soup = BeautifulSoup(r.content, "lxml")
scripts = soup.find_all('script', type="text/javascript", text=re.compile('window._sharedData'))
stringified_json = scripts[0].get_text().replace('window._sharedData = ', '')[:-1]
print json.loads(stringified_json)['entry_data']['PostPage'][0]['graphql']['shortcode_media']['owner']['username']

由于Instagram对其API(我指的是沙盒)的限制,在这种情况下使用Instagram官方API并不容易,因此我用Python编写了一段代码,将Instagram用户ID转换为用户名,反之亦然

它使用GraphQLAPI从Instagram获取信息,不受任何限制

[+]因Instagram API更改而更新的代码(2019年5月30日)


Github链接以获取更多更新:

您可以通过内部
/user/
instagram用于AJAX请求的端点访问它,而无需API:

https://i.instagram.com/api/v1/users/{user_id}/info/
其中,
{user_id}
是数字用户id,类似于
6817966272

返回的响应示例(请参见
user['username']
key for username):

得到

编辑2019-10:

此端点仅服务于将自己标识为instagram应用程序的用户代理

我是通过iphone的instagram用户代理获得的:

Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 Instagram 12.0.0.16.90 (iPhone9,4; iOS 10_3_3; en_US; en-US; scale=2.61; gamut=wide; 1080x1920)
有关更多信息,请查看此联机用户代理数据库:

编辑2020-05: 当前此端点返回的信息较少,但用户名仍然存在:

{
    "user": {
        "username": "meram.ba",
        "pk": 6817966272,
        "profile_pic_url": "https://instagram.fbkk5-5.fna.fbcdn.net/v/t51.2885-19/s150x150/93795245_228684278392964_3931284463400517632_n.jpg?_nc_ht=instagram.fbkk5-5.fna.fbcdn.net&_nc_ohc=O6-_BTmMHUIAX9Qy8up&oh=8303e6fc8444b920c0c0edc603c917b5&oe=5EE91CF3"
    },
    "status": "ok"
}

这方面的工作非常出色,可以处理带有ID列表的.txt文件,并将用户作为明文输出

你有api吗?我没有api,我使用instagram api。此api现在已被删除。{“meta”:{“code”:400,“error\u type”:“APINotFoundError”,“error\u message”:“此用户不存在”}}这是一个直到最近还在运行的错误。它现在返回
useragent不匹配
感谢@Felipe指出这一点。我翻了翻,发现这个api端点只服务于一些特定的用户代理,比如iphone的instagram应用程序等,请查看我的编辑以了解更多信息!以前它与iPhone用户代理一起工作,但现在它返回的JSON具有低质量的dp。@Soheil其他方法,您可以在用户配置文件的页面源中找到用户id:向instragram/发出GET请求,并且用户id在
“id”
下的正文中多次引用,例如
“id”:“1234567”
@Soheil您不需要;如果你需要更多的解释,就提出一个新问题。例如
curl“https://www.instagram.com/wraptile_/“|rg-o”id:“+?”
会为您找到我的id的!有私人页面的用户呢?没有私人页面。只有私人用户。除非你看到一些不同的东西?我正在构建一个应用程序,通过用户名跟踪用户,跟踪他们的个人资料图片和bios,并在他们更改时通知我,他们大部分是私人用户。有时他们会更改用户名。我有他们的用户id,但我不知道如何找到他们的新用户名。。。你知道吗?我没有任何帖子url。。。所以我不能使用你建议的解决方案…不,不知道。我建议开始存储帖子URL,因为这是我看到它工作的唯一方式。无法为私人用户获取帖子…对于公共页面,这是可能的,但对于私人页面则不行
{
  "user": {
    "pk": 6817966272,
    "username": "myriaamaa",
    "full_name": "\u2661",
    "is_private": false,
    "profile_pic_url": "https://instagram.fcnx2-1.fna.fbcdn.net/vp/66486d198fc02046d04d7bc11e51e54a/5D913015/t51.2885-19/s150x150/61226760_298998544311382_2345929352031502336_n.jpg?_nc_ht=instagram.fcnx2-1.fna.fbcdn.net",
    "profile_pic_id": "2056076981860037983_6817966272",
    "is_verified": false,
    "has_anonymous_profile_picture": false,
    "media_count": 216,
    "follower_count": 4926,
    "following_count": 83,
    "following_tag_count": 0,
    "biography": "YOU. ARE. HOLY \ud83c\udf19",
    "external_url": "",
    "total_igtv_videos": 0,
    "total_ar_effects": 0,
    "usertags_count": 6,
    "is_favorite": false,
    "is_interest_account": true,
    "hd_profile_pic_versions": [
      {
        "width": 320,
        "height": 320,
        "url": "https://instagram.fcnx2-1.fna.fbcdn.net/vp/fafecdc76c82de85580c9c03d14b1aaa/5D9BD2E5/t51.2885-19/s320x320/61226760_298998544311382_2345929352031502336_n.jpg?_nc_ht=instagram.fcnx2-1.fna.fbcdn.net"
      },
      {
        "width": 640,
        "height": 640,
        "url": "https://instagram.fcnx2-1.fna.fbcdn.net/vp/0ec5339e3958c9c41414e5378fa2443c/5D7DD28A/t51.2885-19/s640x640/61226760_298998544311382_2345929352031502336_n.jpg?_nc_ht=instagram.fcnx2-1.fna.fbcdn.net"
      }
    ],
    "hd_profile_pic_url_info": {
      "url": "https://instagram.fcnx2-1.fna.fbcdn.net/vp/8b3859950f0bb8e1a4a8f65566992b78/5D9132EF/t51.2885-19/61226760_298998544311382_2345929352031502336_n.jpg?_nc_ht=instagram.fcnx2-1.fna.fbcdn.net",
      "width": 774,
      "height": 774
    },
    "mutual_followers_count": 0,
    "has_highlight_reels": true,
    "can_be_reported_as_fraud": false,
    "is_business": false,
    "account_type": 1,
    "is_call_to_action_enabled": null,
    "include_direct_blacklist_status": true,
    "is_potential_business": true,
    "is_bestie": false,
    "has_unseen_besties_media": false,
    "show_account_transparency_details": false,
    "auto_expand_chaining": false,
    "highlight_reshare_disabled": false
  },
  "status": "ok"
}
Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 Instagram 12.0.0.16.90 (iPhone9,4; iOS 10_3_3; en_US; en-US; scale=2.61; gamut=wide; 1080x1920)
# top 5:
Mozilla/5.0 (Linux; Android 8.1.0; motorola one Build/OPKS28.63-18-3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36 Instagram 72.0.0.21.98 Android (27/8.1.0; 320dpi; 720x1362; motorola; motorola one; deen_sprout; qcom; pt_BR; 132081645)  
Mozilla/5.0 (Linux; Android 7.0; Lenovo K33b36 Build/NRD90N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/65.0.3325.109 Mobile Safari/537.36 Instagram 41.0.0.13.92 Android (24/7.0; 480dpi; 1080x1920; LENOVO/Lenovo; Lenovo K33b36; K33b36; qcom; pt_BR; 103516666)  
Mozilla/5.0 (Linux; Android 5.0.1; LG-H342 Build/LRX21Y; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/65.0.3325.109 Mobile Safari/537.36 Instagram 40.0.0.14.95 Android (21/5.0.1; 240dpi; 480x786; LGE/lge; LG-H342; c50ds; c50ds; pt_BR; 102221277)  
Mozilla/5.0 (Linux; Android 6.0.1; SM-G610M Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/65.0.3325.109 Mobile Safari/537.36 Instagram 41.0.0.13.92 Android (23/6.0.1; 480dpi; 1080x1920; samsung; SM-G610M; on7xelte; samsungexynos7870; pt_BR; 103516666)  
Mozilla/5.0 (Linux; Android 8.0.0; SM-A520F Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.158 Mobile Safari/537.36 Instagram 46.0.0.15.96 Android (26/8.0.0; 480dpi; 1080x1920; samsung; SM-A520F; a5y17lte; samsungexynos7880; pt_BR; 109556226)
{
    "user": {
        "username": "meram.ba",
        "pk": 6817966272,
        "profile_pic_url": "https://instagram.fbkk5-5.fna.fbcdn.net/v/t51.2885-19/s150x150/93795245_228684278392964_3931284463400517632_n.jpg?_nc_ht=instagram.fbkk5-5.fna.fbcdn.net&_nc_ohc=O6-_BTmMHUIAX9Qy8up&oh=8303e6fc8444b920c0c0edc603c917b5&oe=5EE91CF3"
    },
    "status": "ok"
}