如何从Instagram API获取真实的总部图像?

mod*_*diX 3 instagram instagram-api

首先,这个主题已经有问题了,但是没有一个问题完全掩盖了我的问题,因为这不是我需要的数据,或者是数据无法正常工作。

像InstaDP这样的服务可以向您显示Instagram上任何个人资料图片的HQ版本。现在,我想知道这怎么可能?

我进行了一些研究,并在访问https://www.instagram.com/instagramforbusiness/?__a=1时能够找到更高质量的URL (请参阅profile_pic_url_hd在此处回答)。但是,InstaDP似乎有一个返回不同URL的后端,该URL重定向到高质量图像:https ://instadp-cors-222621.appspot.com/get-hd?id=1107766105 (请参阅hd_profile_pic_url_info,我提取了?__a=1链接结果中URL的ID )。我使用个人资料对此进行了测试,并能够以1024x1024的出色质量获得自己的图像。但是,该?__a=1链接似乎仅返回我的个人资料图片(320x320)的链接。

由于InstaDP似乎不是唯一能够获取HQ个人资料图片的播放器,因此我继续比较了这些播放器的后端。似乎每个服务似乎都具有指向同一Instagram帐户的总部资料图片的不同URL。所以我的结论是,Instagram API参与了所有这些工作。

因此,我在https://www.instagram.com/developer/上创建了一个客户端密钥。我还能够获取我的身份验证令牌,并确定我登录的csrftoken X-CSRFToken标头。现在我的问题是如何继续?

我找到了关于此主题的一些答案,表明我应该请求https://i.instagram.com/api/v1/users/1107766105/info/,但它始终以HTML形式返回登录页面。

我尝试过使用Chrome Cookie的REST客户端,然后登录到Instagram,然后尝试将HTTP标头设置为X-CSRFToken:<mycookietoken>Content-Type:application/json。(如果我没有设置CSRFTokenit错误,那么我需要添加它,但是如果设置了标头,即使the CSRFToken是正确的,我也会再次获得HTML 。当the error错误时,我不会收到CSRFToken错误。)

我还尝试设置OriginRefererHost欺骗Instagram认为请求来自其自己的窗口位置,但是没有运气。设置Host甚至会导致400错误的请求。甚至在URL中添加我的访问令牌都无效(?access-token=########)。

总结一下我的问题,这些服务如何从cdninstagram服务器以高达1024x1024的高质量来获取个人资料图片?

小智 6

虽然我来晚了,但这可能对某人有所帮助:

第1步: 获取高清Instagram个人资料图片的第一件事是他们的个人资料ID。可以在用户配置文件链接的源代码中找到。例如,如果您查看以下链接的源https://www.instagram.com/abdulhaq0/并搜索“ logging_page_id”,您将获得“ profilePage_1285389476”。profilePage之后的数字是该帐户的ID。

步骤2: 接下来,您需要将ID放入以下URL https://i.instagram.com/api/v1/users/ {ProfileID} / info /中,然后在浏览器中将其打开。在我们的情况下,链接为https://i.instagram.com/api/v1/users/1285389476/info/

步骤3: 现在,在上面的链接中搜索“ hd_profile_pic_url_info”。在那里,您可以获取HD Instagram个人资料图片的URL。

希望这会有所帮助。


小智 5

步骤: 1.获取instagram帖子链接。例如:https : //www.instagram.com/p/Bo-Jru-g7Wa/

或者如果你没有链接,instagram api 会在结果数组中为你提供一个永久链接选项,上面的链接是Bo-Jru-g7Wa

  1. 现在只需在 url 后添加media?size=l 即可,即

结果:高质量图片网址:

https://www.instagram.com/p/Bo-Jru-g7Wa/media?size=l

你可以在这里看到它的实际效果:https : //jsfiddle.net/nmj1z7wo/fiddle URL

此链接可被视为 Instagram 图像 URL 的速记代码,这些 URL 非常大

  • 对不起,你误解了我的问题。我不想要帖子中的总部图片,我想要个人资料图片的总部图片。 (3认同)

小智 2

我相信像https://instadp.site/这样显示高分辨率用户个人资料图像的网站不使用官方 Instagram API。

过去,可以破解 Instagram 的 CDN URL 来更改参数并从中获取高分辨率,但现在 URL 已签名,如果更改任何参数,URL 就会失败。

因此,他们可能使用的唯一解决方案是模拟客户端。有一个流行的 PHP 客户端: https: //github.com/mgp25/Instagram-API