Извлечение фотографий с ограниченным количеством тегов с Flickr
Вопрос
Итак, у меня есть сайт для хобби, над которым я работаю.У меня есть элементы с тегами, и я хочу связать эти элементы с фотографиями с Flickr.Даже при ограничительном поиске я мог бы получить результаты, исчисляющиеся тысячами.
Требования:
- Я хочу отображать от 10-20 изображений, но я хочу каждый раз рандомизировать фотографии.
- Я не хочу заходить на Flickr каждый раз, когда делается запрос страницы.
- Не каждая фотография с Flickr с теми же тегами, что и у моего товара, будет актуальной.
Как я должен хранить такое количество результатов и как я могу определить, какие из них являются релевантными?
Решение
Я бы предложил перенести код, который выбирает, рандомизирует, загружает и кэширует фотографии, в отдельный сервис.Это может быть локально доступное приложение REST.Содержите свой основной код в чистоте и не загромождайте его удаленными операциями и политикой хранения.
- Создайте сопоставление тегов с изображениями и сохраните его локально, в файле или базе данных.Рандомизировать массив в обоих случаях несложно.
- Укажите файл src изображения в локальный кэш.Периодически очищайте кэш, в зависимости от пропускной способности вашего хостинга.
- Внесите фотографии в белый список, чтобы отфильтровать их на шаге 1.
Другие советы
Для частей 1 и 2 лучше всего сделать большой запрос, скажем, вернуть 100 или 200 фотографий, и сохранить URL-адрес и другие детали.Тогда создание случайного выбора из вашей локальной копии должно быть простым.
Что касается части 3, я не уверен, как вы могли бы добиться этого без какой-либо формы вмешательства человека, если только вы не можете определить "релевантный" в некоторых терминах, против которых вы можете программировать.
Если вмешательство человека допустимо, то, очевидно, они могут просмотреть вашу локальную копию фотографий и выбрать подходящие (или отбросить не относящиеся к делу).