Вытягивание ограниченных фотографий с тегами из Flickr - PullRequest
0 голосов
/ 28 августа 2008

Итак, у меня есть хобби-сайт, над которым я работаю. У меня есть элементы, помеченные тегами, и я хочу связать эти элементы с фотографиями из Flickr. Даже при ограниченном поиске я могу получить нумерацию результатов в тысячах.

Требования:

  1. Я хочу отображать от 10 до 20 снимков, но каждый раз хочу рандомизировать снимки.
  2. Я не хочу нажимать Flickr каждый раз, когда делается запрос страницы.
  3. Не каждая фотография Flickr с такими же тегами, как у моего предмета, будет иметь отношение.

Как мне сохранить это количество результатов и как определить, какие из них актуальны?

Ответы [ 2 ]

1 голос
/ 28 августа 2008

Лучшая ставка для частей 1 и 2 - сделать большой запрос, скажем, вернуть 100 или 200 фотографий и сохранить URL-адрес и другие детали. Тогда создание случайных выборов из вашей локальной копии должно быть простым.

В части 3 я не уверен, как бы вы достигли этого без какой-либо формы вмешательства человека, если только вы не можете определить «релевантные» в некоторых терминах, против которых вы можете программировать.

Если с вмешательством человека все в порядке, то, очевидно, они могут просмотреть вашу локальную копию фотографий и выбрать соответствующие (или удалить ненужные).

1 голос
/ 28 августа 2008

Я бы предложил перенести код, который выбирает, рандомизирует, загружает и кэширует фотографии в отдельный сервис. Это может быть локально доступное приложение REST. Содержите свой основной код в чистоте и не загромождайте его удаленными операциями и политикой хранения.

  1. Создайте карту тегов к изображениям и сохраните ее локально, в файле или базе данных. Рандомизировать массив легко в обоих случаях.
  2. Точка изображения src на локальный кеш. Периодически очищайте кеш, в зависимости от вашего хостинга.
  3. Белый или черный список фотографий, чтобы отфильтровать их на шаге 1.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...