我试图找到一种方法来从Python中的用户名ID获取Instagram用户名。到目前为止我发现的是:
https://api.instagram.com/v1/users/[USER-ID]?access_token=[YOUR-ACCESS-TOKEN]
我有一个令牌号,但它只适用于添加到沙箱的用户。对于其他用户,我收到以下错误:
{"meta": {"code": 400, "error_type": "APINotFoundError", "error_message": "this user does not exist"}}
我已经找了几个小时的解决办法了,到目前为止还没有找到。有没有一种方法可以在不使用令牌的情况下获得相同的结果?
非常感谢!
4条答案
按热度按时间bejyjqdl1#
在我的情况下,我从tagFeed获取数据,所以我有图片代码。如果你有图片代码的任何用户的帖子然后你可以得到用户名这样
它将返回一个JSON,其所有者为- username
c3frrgcw2#
将您的浏览器指向https://i.instagram.com/api/v1/users/USERID/info/(将USERID替换为用户ID)。它返回一个JSON,其中user.username字段是该用户的用户名。安装curl和jq后,这个shell oneliner会直接返回用户名:
或者,Instaloader package提供了一种方便的方式来获得给定ID的用户名,而无需使用官方Instagram API。
它的工作原理是查询一个配置文件的帖子(只需要配置文件的ID),获得该帖子的元数据(instagram.com/p/SHORTCODE),然后返回该帖子的
owner.username
值。cgh8pdjw3#
不,很不幸你不能。你需要一个具有
public_content
权限的令牌,为此,你需要有一个实时应用程序(不在沙箱中)。5ssjco0h4#
Python库“ensta”,无需登录即可抓取Instagram数据。它使用Instagram的内部Web API来保证数据的准确性。
安装
示例
对于您的用例,您可以使用 get_username 函数。
结果: