带有 api 的 Instagram 用户位置
Posted
技术标签:
【中文标题】带有 api 的 Instagram 用户位置【英文标题】:Instagram user location with api 【发布时间】:2015-02-11 10:08:10 【问题描述】:如何在 intagram api 上找到用户位置? instagram 端点有这个 uri:https://api.instagram.com/v1/locations/location-id?access_token=ACCESS-TOKEN
【问题讨论】:
【参考方案1】:您可以通过利用媒体源上的位置服务来估计用户的位置。也就是说,您可以从一个或多个所需用户发布的图像中提取位置标签。然后,您可以使用所有用户的图像来得出大致位置或类似的位置。
请注意,并非每张图片都有位置标签,有些用户的位置服务完全关闭,在这种情况下,不会标记任何图片。但你可以这样做:
使用@instagram 具有位置的图像之一的图像ID。然后使用 python 库连接到 instagram api 以获取有关该图像的信息。然后访问图像位置。
image_id = '976907440786573124_25025320'
image_info = api.media(image_id)
lat = image_info.location.point.latitude
lon = image_info.location.point.longitude
print (lat,lon)
给出结果 (51.565501504,-0.089821461)
【讨论】:
这太棒了,伙计【参考方案2】:要补充 jstnstwrt 的答案,最直接的方法是:
如果你为 python 安装了 python-instagram 库,你可以执行以下操作:
import instagram
api = InstagramAPI(access_token=access_token, client_secret=client_secret)
id = <id of the user you're trying to get location from>
location = api.location(id) # returns error if no location set
coordinates = location.point #returns point object with lat and long coordinates
编辑 25/07/2019:
这早就停止工作了,instagram 已经大大锁定了他们的 API。我会推荐像 instaloader (https://pypi.org/project/instaloader/) 这样运行良好的东西。
【讨论】:
jstnstwrt 提到从媒体 ID 而非用户 ID 接收位置。我认为 api 不会为用户返回位置 @Wboy 谢谢,我已经安装了模块,但我找不到位置,有什么帮助吗?以上是关于带有 api 的 Instagram 用户位置的主要内容,如果未能解决你的问题,请参考以下文章
带有 Laravel 5.4 的 Instagram API