KinoTrek — Удобный и красивый сервис по отслеживанию киноновинок

в 15:40, , рубрики: heroku, python, rutracker, автоматизация, Веб-разработка, кино, Кинопоиск, рутрекер, сервисы, скачивание, торренты, метки: , , , , , , , ,

Введение

KinoTrek — Удобный и красивый сервис по отслеживанию киноновинок
Думаю, многие из вас, любят кино. Как в форме походов в кинотеатр, так и в форме уютного домашнего просмотра, на любимом медиаплеере. Если с первым все относительно просто, то со вторым же возникают некоторые нюансы, которые можно разделить на следующие категории:

  1. Выбор
  2. Скачивание
  3. Просмотр
  4. Каталогизация

Чисто теоретическую их часть я затрагивал в первом посте. В этот раз, хотел бы поделиться c вами, уважаемые читатели, одним из вариантов практической реализации первого из пунктов, а именно, удобного сервиса по отслеживанию киноновинок.

Во избежание возможных споров, хочу сделать небольшое заявление, что вся статья имеет сугубо субъективный характер и отражает только мнение автора. Я никоим образом не навязываю вам свое мнение. Если я назвал какой то сервис удобным, то для вас он может таковым не являться, и наоборот.

Существующие реализации. Чем же они плохи?

И так, первый этап: Выбор. Задача следующая: На входе имеем список новых рипов, выложенных с момента вашего последнего входа, на выходе нужно получить список закачек для вашей торентокачалки.
Данная тема далеко не нова, и существует множество ее реализаций. Уверен, что у многих есть свой эксклюзивный наработанный метод, позволяющий в «3 клика», или может даже полностью автоматически выбрать интересное кино. В данном посте, я хотел бы представить вам свой вариант.

В чем я вижу минусы существующих реализаций? Постараюсь перечислить:

  • Дублирующиеся посты. Т.е. вышел фильм в DVDRip, вы его скачали, либо не скачали, отлично. Завтра вы открываете страницу, а там снова он, но уже в HDRip. Еще через день опять он перед глазами, но уже в BDRip. Т.е. полезная и неполезная информация идут вперемешку. А тут недалеко и что-нибудь интересное упустить из вида.
  • Слабая визуализация. Зачастую RSS ленты не дают нам прочуствовать атмосферу фильма. Да, там есть обложка, описание, скрины. Но почему бы не добавить фоновый рисунок и трейлер? Вообще, торрент треккеры подают материал с фильмами в том же формате, что и Программы, Книги, Игры. Но ведь фильмы заслуживают отдального оформления. Чего стоит тот же XBMC. Стал бы он таким популярным, если бы выглядел как форум?
  • Требуют большого времени и внимания. Данный пункт является следствием первых двух. Если вы подписаны на ленту (ленты) или просто просматриваете ветку с киноновинками, то от вас требуется недюжая концентрация внимания, чтобы в этом потоке текстовой информации выцепить пару интересных веток. Потом надо зайти в кинопоиск, чтобы просмотреть трейлер. А учитывая кол-во низкосортного кино, вам потребуется приложить немало усилий.
  • Локальность / Ограниченность. Возможно, есть очень удачные домашние реализации, но часть из них развернута на домашних серверах, и недоступна остальным, либо развернута на бесплатных решениях, с ограниченным кол-вом трафика, которые в любой момент могут стать недоступны

Предлагемая реализация

Представляемая реализация никоим образом не тянет на революционность. Это лишь сервис, созданный для себя, но при этом, доступный каждому. Возможно, кто-то из вас увидит в нем потенциал, и даже сочтет его удобным.
Преследуемые цели:

  1. Экономия времени
  2. Максимально возможная визуализация информации
  3. Группировка фильмов. Каждый фильм появляется в ленте только один раз
  4. Показ трейлера непосредственно на странице
  5. Визуальное оформление в стиле XBMC
  6. Так же, я старался не притеснять сами источники. Т.е. для скачивания, вам все же потребуется перейти на страницу треккера. Были мысли по использованию магнитных ссылок, но пока не все их признали, да и будет ли это честным по отношению к самим треккерам. (Если у вас есть идеи, как сделать так, чтобы «и волки сыты, овцы целы», то буду рад услышать)
  7. Дружелюбный к мобильным устройствам интерфейс

Ну, что ж, достаточно слов. Лучше один раз увидеть, чем сто раз услышать.
Милости прошу: KinoTrek.

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

Как пользоваться?

Наиболее оптимальным, на мой взгляд, является следующий сценарий:

  1. Раз в день заходите на KinoTrek. Для экономии времени, это можно делать в свободные минуты с телефона/планшета
  2. Пробегаетесь глазами по обложкам
  3. Получаете детали по наиболее интересным для вас фильм. Смотрите трейлер и принимаете решение: Качать или нет
  4. Определяетесь с качеством и переходите к странице трекера
  5. Скачиваете торент файл на облачный диск, за которым следит ваша торентокачака
  6. Вечером наслаждаетесь просмотром

Техническая составляющая

Как многие уже успели заметить, сайт развернут на удобном сервисе Heroku. Бесплатной квоты вполне хватает для решения весьма широкого спектра задач.
В детали реализации вдаваться, думаю, будет излишним, так как никакого ноу-хау тут нет. Всего лишь несколько технологий, примененных вместе. Для интересующихся, вот ссылки для старта:

  1. habrahabr.ru/post/59270/
  2. habrahabr.ru/post/205238/
  3. habrahabr.ru/post/159631/
  4. devcenter.heroku.com/articles/getting-started-with-python

Схема работы следующая:

  1. Фоновый процесс раз в 1 час парсит страницу с киноновинками рутрекера и определяет новые посты
  2. По названию фильма идет поиск в базе фильмов www.themoviedb.org/. Если фильм новый, то вытягивается информация о фильме, если нет, то в существующий фильм добавляется новый источник
  3. Веб процесс выдает статичную страницу, которая аяксом вытягивает ленту с фильмами

Заключение

Сайт запущен лишь недавно, и сейчас он на стадии открытой беты. Буду рад любой конструктивной критике, замечаниям и предложениям по модернизации.
Ну вот и все, уважаемые читатели. Спасибо за уделенное статье время.

Использованные компоненты и полезные ссылки:

  1. Twitter Bootstrap
  2. Визуальное офомрление для Twitter Bootstap
  3. XBMC
  4. API TMDB
  5. Библиотека Python для работы с TMDB
  6. Heroku.com
  7. MongoDB
  8. Flask

Автор: ChesterOne

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js