CMS музыкального каталога, агрегатор, парсинг и соц. сети.

Author Автор: Роман Чернышов    Опубликовано: 4 декабря 2013

Приветствую уважаемые читатели! Хочу рассказать вам об одной своей небольшой разработке, а именно CMS музыкального каталога, включающего в себя миллионы треков и тысячи исполнителей, при чем все это подтягивается из социальных сетей, в режиме онлайн, и не хранится на сервере где расположена система. Что полностью исключает проблемы с авторскими правами, контентом, и при этом обеспечивается достаточно большой поток целевого трафика (впрочем этот момент не по теме). Далее обо всем поподробнее.

И так суть задумки вкратце я изложил, что получилось на деле:
1. CMS предоставляющая из себя большой каталог всевозможных треков, все треки рассортированы по авторам, авторы по алфавитному указателю. Что весьма удобно для пользователей сайта, также есть поиск по сайту.

2. Поиск по сайту (выношу в отдельный пункт). При поиске определенного автора и отсутствие его в базе данных сайта, система автоматом обращается в поиск соц. сети «вконтакте», и формирует поисковый запрос там, после полученный результат выводится пользователю, а найденные данные кешируются в БД системы для ускорения последующего поиска по данному исполнителю.

3. Плеер MP3. Список треков по исполнителю, выводится в виде нескольких Flash\JS MP3 плееров с возможностью прослушивания и скачивания треков пользователями.

4. Парсинг чарта популярных радиостанций Москвы и Питера. Эта функция дает возможность постоянно забивать сайт самыми актуальными MP3 треками на текущий день. Что положительно сказывается на отклике аудитории сайта, трафике и индексации поисковиками. предусмотрен ручной и автоматический режим по Cron. Общее количестве радиостанций в систем составляет 81 шт. с возможностью редактирования\добавления\удаления.

5. Удобная админка, где можно управлять всем сайтом. А именно контентом, MP3 треками, кэшем (есть возможность очистки старого кэша), парсинком чартов — есть ручной режим.
В админке есть отдельная возможность настройки парсера, ссылки на страницу с чартами, команд парсинга в формате xPath.

Вот такая скромная но очень эффективная CMS музыкального каталога у меня получилась.

Технические особенности:
— Парсинг чартов осуществляется через PHP Curl, с нескольких крупных интернет ресурсов содержащих списки чартов большого количества радиостанций.
— Разбор страниц доноров при парсинге осуществляется через xPath.
— Поиск и скачивание MP3 треков происходит в режиме онлайн из соц. сетей, в частности Вконтакте, есть возможность перенастройки на Мой Мир (mail.ru). Взаимодействие с соц. сетями через PHP Curl.
— есть возможность промежуточного кэширование скачиваемых треков, «соц. сети -> сервер системы -> пользователь» с временем жизни кэша — сутки, для снижения нагрузки на каналы сервера.

Системные требования для работы CMS
Система использует такие модули PHP как Curl и xPath(как ранее уже написал об этом), в результате чего потребность в ресурсах сервера\хостинга для CMS выше чем у обычных систем, даже не смотря на предусмотренный ряд оптимизаций и кэширования. основные потребляемые ресурсы сервера это оперативная память, и трафик. Также для работы при большом потоке посетителей (желательно и для малых потоков) требуются широкие каналы связи сервера, желательно 1Gbit\ps. ОЗУ желательно от 2GB.
Сервер лучше арендовать у Hetzler.de или Burst.net ибо там вы получите соотношение цены и высокие характеристики.

Система тестировалась также на шаред хостинга и недорогом VDS, устойчиво работает при посещаемости до 50 уников в сутки и 1000 поисковых запросов\скачиваний треков. Но это потолок.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка