Instagram API自定义图像宽度


Instagram API custom image width

我正在尝试使用Instagram API为Instagram中的图像设置自定义宽度。我正在使用标签来抓取所有相关的图像。我可以让Instagram为我提供自定义图像大小吗?我知道有3种尺寸:缩略图,低分辨率,标准分辨率。这就是我能得到的吗?谢谢!

Instagram API返回三种标准图像分辨率。还有一个额外的未记录的图像大小,你也可以使用,但是,这可能在未来有点脆弱/容易改变,也可能违反他们的服务条款(不确定)。当我看到Instagram网站提供更高分辨率的图片时,我注意到这张照片是可用的——我不太确定为什么Instagram选择不提供这张照片。

从API中,您可以获得这些标准图像大小:

缩略图(150 * 150)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s150x150/e15/11821182_168255950173048_11130460_n.jpg

low_resolution (320 x 320)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s320x320/e15/11821182_168255950173048_11130460_n.jpg

标准分辨率(640 × 640)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s640x640/sh0.08/e35/11821182_168255950173048_11130460_n.jpg

然后,通过查看他们的网站,我注意到他们提供了一个1080 x 1080的大版本文件:

未注明的大图(1080 * 1080)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s1080x1080/e15/11821182_168255950173048_11130460_n.jpg

简单的做一个搜索并替换_5(或_6,即)得到你想要的大小(见下文):

图片大小如下:

http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_7.jpg

612px × 612px

http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_6.jpg

306px × 306px

http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_5.jpg

150px × 150px

Instagram使用Amazon S3保存照片,并有如下的命名约定:

http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_7.jpg
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_6.jpg
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_5.jpg

通过简单地通过API获取照片URL,然后将图像URL中的_7,_6,_5更改为另一个值(通过搜索/替换),您可以控制图像的大小

正如之前的海报所描述的,Instagram没有办法提供你需要的精确大小的图片。它们只有三到四种默认大小可用。

你需要实现某种中间件来为你调整图像的大小,或者使用像https://tiny.pictures/这样的服务(免责声明:我是一个开发人员)来为你做这件事。

我知道这是一个旧的帖子,但我认为我应该补充说,有许多超过三(或四)图像大小可用。我写了一个简短的Python脚本,发现了以下内容:

  12    90   200   376   719
  16    96   203   390   720
  24   100   206   403   750
  30   111   224   405   768
  32   112   240   408   800
  34   114   243   417   810
  40   118   256   468   936
  43   120   262   479   959
  48   128   270   480   960
  50   129   279   512  1008
  56   130   280   515  1024
  57   133   285   540  1029
  60   135   288   562  1056
  64   147   306   564  1080
  68   148   319   599  1225
  73   150   320   600  1300
  74   160   332   624  1440
  75   180   338   640  1536
  80   190   350   672  2048
  86   192   360   704

据我所知,所有高于1080的值(1225、1300、1440、1536、2048)都返回1080。

我测试了一张正方形的照片,所以我不知道不同的长宽比会有什么效果。