Получить удаленные эскизы изображений и ссылки с php

Привет, я пытаюсь получить миниатюры с этого сайта http://imgur.com/gallery для отображения на моем php страницу, и я хочу, чтобы миниатюры можно было щелкнуть, чтобы они направляли пользователя на страницу комментариев imgur, на которой есть предварительный просмотр изображения. Использую ли я cURL для получения изображений? Как мне установить ограничение размера файла для количества миниатюр, сохраняемых сценарием? Спасибо за любую помощь.


person user3000742    schedule 17.11.2013    source источник


Ответы (2)


Во-первых, не следует пытаться собирать данные непосредственно со страницы. У Imgur есть API, который вы должны использовать. Вам нужно будет зарегистрировать приложение и использовать токены аутентификации, которые они предоставляют. Вы можете прочитать больше в категории «Регистрация», второй вниз:

https://api.imgur.com/oauth2

Получив это, вы можете совершать звонки на конечную точку по вашему выбору:

https://api.imgur.com/endpoints/gallery

У меня нет учетной записи приложения, поэтому я не уверен, как именно будет выглядеть ответ, но вы, вероятно, можете сделать что-то вроде этого, чтобы хотя бы начать:

$clientID = 'PUT YOUR CLIENT ID HERE';
header("Authorization: Client-ID $clientID");
$url = 'https://api.imgur.com/3/gallery/hot/viral/0.json';
$file = file_get_contents($url);
$json = json_decode($file, true);
print_r($json);

$json, скорее всего, будет комбинацией традиционных и ассоциативных массивов, к которым можно обратиться с помощью $json[0] или $json['key'] или связать вместе с помощью $json['key'][0]['img'] и так далее.

К сожалению, без регистрации моего собственного приложения я не могу больше помочь. Если вы можете предоставить образец их ответа в формате JSON, я или кто-то другой, скорее всего, окажут вам большую помощь.

person Uptown Apps    schedule 17.11.2013

Если возможно, лучше пройти через API сайта. «Очистка» веб-сайта обычно не одобряется и часто противоречит их ToS.

Я не уверен, соответствует ли API Imgur вашим потребностям, но я бы начал с этого.

person mpen    schedule 17.11.2013