2012-12-24 71 views
7

我想使用Instagram API爲Instagram中的圖像設置自定義寬度。我使用hashtag來抓取所有相關的圖片。我可以讓Instagram爲我提供自定義圖片尺寸嗎?我知道有3種尺寸:縮略圖,低分辨率,標準分辨率。這就是我所能得到的一切嗎?謝謝!Instagram API自定義圖像寬度

+0

我認爲你必須自己改變圖像尺寸......但我還沒有看過API。 – 1789040

+0

我需要從Instagram爲特定尺寸的圖片提供服務。這可能嗎? – bla0009

+0

我想你必須抓住圖像,用standard_resolution表示,然後自己改變圖像大小...... http://www.sitepoint.com/image-resizing-php/ – 1789040

回答

4

簡單做一個搜索和_5(或1-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

150像素×150像素

看來3-8,1-4,_3是無效的大小。

+0

此信息已過時,Instagram不再使用其''distilleryimage *'主機名。 –

0

的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,然後改變_7,1-6,_5圖像到另一個值的URL(通過搜索/替換),您可以控制圖像的大小。

+0

感謝改進人士 –

+0

此信息已過時,Instagram不再使用其''distilleryimage *'主機名。 –

13

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×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×1080:

無證大圖像(1080×1080)

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

+0

這很有意思,謝謝 – Matteo

+1

我發現你甚至可以要求'2048x2048':https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s2048x2048/e15/11821182_168255950173048_11130460_n.jpg 但是它只提供'1080x1080'。如果原始圖像大於或等於(寬度和高度各不相同),或者返回到下一個較低的分辨率,則假定提供2048平方。 –

+1

並且在你的尺寸部分之後,你可以插入一個可選的銳化因子'/ sh0.40 /'。 –

0

如前面的海報所描述的,有」 Instagram無法提供您需要的確切尺寸的圖片。他們只有三個或四個可用的默認大小。

您需要實施某種中間件來爲您調整圖像大小,或者使用像https://tiny.pictures/這樣的服務(免責聲明:我是開發人員)爲您做這件事。

0

我知道這是一箇舊的帖子,但我想我應該補充說,有超過三個(或四個)可用的圖像大小。我寫了一個簡短的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

我測試它與一張方形照片,所以我不知道什麼可用於不同的縱橫比。

相關問題