Добрый день, пользователи юви! Давно не писал ничего - все работа да работа....
Когда я был на KIW - 2010, про агрегаторы довольно часто упоминалось. Так как я человек любопытный, мне эта мысль не давала покоя и я решил все таки заняться немного самообразованием в свободное время. Узнать что это такое и можно ли это сделать? Что из этого вышло? Все ниже....
И так что такое агрегатор? я думаю большинству известно... Но начнем с Wiki:
Агрегатор (от лат. Aggregatio — «накопление») — тот, кто агрегирует, собирает, группирует объекты в категорию более высокого уровня.
Далее рассмотрим: RSS-агрегатор — клиентская программа или веб-приложение для автоматического сбора сообщений из источников, экспортирующих в форматы RSS или Atom, например заголовков новостей, блогов, подкастов и видеоблогов.
Принцип работы:
Пользователь вносит в агрегатор адреса интересующих его источников либо выбирает из предлагаемых агрегатором. Далее агрегатор самостоятельно с заданным интервалом или по требованию пользователя проверяет источники на наличие обновлений, и в случае их наличия уведомляет пользователя об обновлениях, после чего пользователь имеет возможность ознакомиться с ними.
В нашем же случае мы хотим, что бы хранились не просто ленты, а создавались материалы на нашем сайте (ноды) и пух уже наш контент.
Так как я приверженец Drupal, выбор был очевиден. В нем присутствует стандартный модуль Aggregation. Сразу начал рыть в Google и получил не очень хорошиe отзывы на различных форумах о стандартном модуле. В итоге нашел модуль feeds хоть он и beta модуль глючить в дальнейшем не стал.
И так инструмент у меня есть. Теперь самое интересное выбрать тему, что же агрегировать? Новости? неее. Уже есть и это не интересно для меня. Я люблю смотреть онлайн фильмы, сейчас в казнете доступно множество онлайн кинотеатров. И так я хочу что бы все новинки собирались у меня и я видел сразу где, какие фильмы появились.
Подключил модуль, что бы он заработал идет еще целая куча модулей:
После установки в Администрирование-> Конструкция сайта появилось Feed importers. Здесь можно настроить как будут браться данные с RSS ленты и тп.
Так же я сделал несколько клонов, что бы кроме фильмов собирались трейлеры и новости.
В "Создать материал" появился материал Feed. Создаем экземпляр, добавляем адрес rss ленты сохраняем. Вместе с сохранением создались (ноды), будт то трейлеры, фильмы или новости.
Следующий этап была установка модуля Views для красивого и структурированного отображения всех скопленных материалов. С помощью views я сделал разбиение по категориям, а так же поиск.
После всей проделанной работы уже на сайте были материалы в том виде, который поставляется вместе с RSS лентой. Но меня это не утраивало, поэтому я исправил node.tpl.php сделал свой парсер который отделяет картинку, текст и ссылку на источник. Все это я уже представил в более читабельном виде.
Последним что было сделано, поставил модули Seo CheckList, для Seo оптимизации. Настроил задачи Cron'a для автоматического сбора информации. И пустил в свободное плавание. =) Конечно работаю над не доделанными вещами, но это уже не суть.
Я был очень доволен тем, что агрегатор не так уже и сложно сделать. Единственное, проблемы с красивым отображением, но они вполне решаемы.
В итоге получилось вот такое творение - kinosova
За 2 недели ресурс собрал около 700 фильмов и больше 100 трейлеров... Статья не пиарная, больше направлено на знания. Тема интересная, ведь агрегаторы в других странах очень развиты, а у нас нет.