CMS музыкального каталога, агрегатор, парсинг и соц. сети.
Приветствую уважаемые читатели! Хочу рассказать вам об одной своей небольшой разработке, а именно 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
предложить оффер
- jQuery: как получить значение атрибута?
- PHP работа с изображением, класс SimpleImage
- Интеграция с API ОСАГО сайта sravni.ru
- Комментарии на PHP, Ajax, mySQL
- PHP: Категории бесконечного уровня вложенности.
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Как создать Telegram-бота с авторизацией через сайт к записи
- PHP скрипт: каталог закладок на сайты к записи
- Валидация на PHP к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
Archive
- +2024 (25)
- Ноябрь 2024 (10)
- Октябрь 2024 (8)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Интеграция платежной системы MoonPay на сайт по API 10.11.2024
- Парсер товаров с Taobao 08.11.2024
- Упаковка и минификация кода JavaScript онлайн 07.11.2024
- Как эффективно анализировать логи при DDOS атаке 07.11.2024
- Бот для автоматических заказов на OZON (плагин для Chrome) 07.11.2024