Мне надоело всякий раз перебирать по многу страниц на сайте Афиши, и я решил сделать сервис, максимально быстро решающий мою проблему.
На первый взгляд, проблема решается элементарно — берём любую афишу, анализируем информацию о киносеансах, и отображаем на карте. Однако, как выяснилось, получить информацию о киносеансах — задача не простая. Парсить страницы уважаемых сайтов вроде упомянутой Афиши или Яндекс.Афиши мне не хотелось по этическим соображениям. Единственное публичное API, которое мне удалось найти — это API КиноПоиск. К сожалению, этот сервис предоставляет информацию только по Москве, но поскольку я москвич, то меня это устроило.
Дальше было совсем просто. Ruby on Rails, Яндекс.Карты, Heroku — и вот сервис Кино на карте уже работает!
Сервис показывает расписание фильмов по московским кинотеатрам на ближайшие 3 часа, считая от момента загрузки страницы. В каждом случае можно перейти по ссылке на страничку фильма и кинотеатра.
В процессе создания сервиса мне стало любопытно, есть ли ещё люди с аналогичным моему подходом к кино? Поэтому прошу принять участие в голосовании, и если есть предложения по дальнейшему совершенствованию сервиса — буду рад комментариям!
P.S. В хаб «я пиарюсь» меня, к сожалению, не пускают.
Update: теперь у проекта есть адрес http://moviemap.ru/
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (30)
Smi1e
28.06.2016 13:14+1Это почему он только по Москве работает?
http://api.kinopoisk.cf/getCinemas?cityID=N
Где код города/страны можно вытащить, например, из объекта KPCity.data.city_data на странице kinopoisk.ru/afisha/new
karminski
28.06.2016 13:22+1А учитывается ли наличие свободных мест в кинотеатрах при отображении списка сеансов?
chernish2
28.06.2016 14:48Пока не учитывается, но Ваш ход мысли мне нравится, спасибо!
karminski
28.06.2016 14:57+1Еще… не очень понятна цель этой вашей статьи. Вашу работу оценить сложно, так как в посте вы даже не указали ссылку на GitHub, или другой источник, где выложен код проекта, чтобы оценить «ход вашей мысли». По факту вы предложили аудитории хабра только идею проекта. Вы бы рассказали подробно, что и как сделано в вашем проекте. Хотя бы для новичков в ROR. Им было бы полезно.
webdiez
28.06.2016 14:48По мне придется прикручивать все известные сайты кинотеатров. Если делать приложение, то надо нацеливаться на большую аудиторию(страну), а не только на МСК.
exerrk
28.06.2016 14:49+1В Атлантическом океане затерялся кинотеатр Формула Кино на Лубянке
Было бы интересно добавить мое местоположение и учитывать время на дорогу к кинотеатру (пешком/транспорт/авто)chernish2
28.06.2016 14:53Да, с океаном весело получилось, предполагаю, что там перепутались longitude / latitude.
Моё местоположение я пока не смог корректно подключить, у меня оно то работает то нет. То ли дело в SSL сертификате, толи в чем-то ещё. Но если расширять список городов, то конечно сделаю и это, иначе неудобно будет.
Маршрут, теоретически, тоже можно прокладывать, можете подсказать, как видите такой функционал? В кнопка на кинотеатре «Успею?»?NeuroHunter
28.06.2016 15:12+1Я вставлю свои 5 копеек.
В моем представлении это работает так: на сайте есть возможность указать, откуда пользователь поедет и возможность выбрать фильм, который пользователю интересен. После этого показываются только те кинотеатры, в которых есть сеансы этого фильма, на которые пользователь успевает (с учетом текущих данных о пробках из ЯКарт и местоположения пользователя).
karminski
28.06.2016 16:16+2И мои 5 копеек… Вы позиционируете свой сервис как быстрое нахождение ближайшего кинотеатра и не предлагаете (надеюсь только пока) приложение для смартфона… Вы пробовали воспользоваться вашим сайтом со смартфона? Удобно? Владельцы смартфонов вас возненавидят. Для сервисов, которые решают задачи быстро, логичнее полноценное приложение, а веб-сайт только для поддержки и ссылок «скачать приложение»…
dmitry_ch
29.06.2016 12:25+1Мобильные приложения уже существующих сервисов расписаний уже есть и уже умеют все, что можно от такого рода хотеть (расписание, описание, покупка билетов). Карта расположения кинотеатрово там тоже есть, если что )
Я тут задумался, и даже потерялся — зачем еще один сервис, и чем он должен быть «другим», чтобы им захотелось пользоваться?NeuroHunter
29.06.2016 13:21+1Вот уже второй человек упоминает какие-то абстрактные «мобильные приложения». Вы бы хоть названия давали, чтоб было, что искать…
exerrk
29.06.2016 12:47+1У меня была мысль, схожая с пятью копейками NeuroHunter, только без указания фильма (хотя функция сама по себе не плоха), т.к. условия такие, что пользователь может не знать какой фильм он хочет посмотреть. Кинотеатр — самоцель, я полагаю.
Таким образом, система определяет местоположение (либо указывает местоположение + время, когда он там будет), рассчитывает время в пути до каждого кинотеатра и отсеивает (делает серым) сеансы, на которые он скорее всего не успеет, если не будет бежать/нарушать ПДД/использовать телепорт (нужное подчеркнуть)chernish2
29.06.2016 12:49И ненавязчиво предлагает билеты на дружественный сервису телепорт со скидкой!
ITMatika
29.06.2016 11:41Вы пробовали проводить аналитику? Какие фишки в сравнении с конкурентами планируете внедрять в будущем?
dmitry_ch
29.06.2016 11:53+1Все бы хорошо, но, находясь в окружении 6 кинотеатров, я хожу только в один, потому что в остальных гадюшник, как по мне. Раз так, на карте выводить это все равно бесполезно.
Куда разумнее был бы поиск «вывести только 2D», «только нетупые» или «только без пошлых шуток», но кто ж такое в здравом уме сделает, да и где возьмет информацию?chernish2
29.06.2016 11:59Я очень рад, что написал эту статью. 44 человека сказали, что им проект интересен. Думаю теперь, как его можно было бы развить.
Одна из идей — ввести фильтры, например такие (пока в хаотичном порядке):
- время — ближайший час, два часа, четыре, весь день
- события — кино, концерты, спектакли
- категории событий — для взрослых, для детей, для детей и взрослых
- кинофильмы — 2д/3д, выбор по жанрам, выбор по рейтингу (возможно, это частичный ответ на требование «не тупые»?)
dmitry_ch
29.06.2016 12:21Увы, рейтинг — это не ответ на «не тупые». Даже на «Афише» (чем вы, кстати, будете лучше их творения, особенно того его варианта, что было до редизайна?) почитайте отзывы: кто-то пишет «картина тупая, жаль, что пошли» или «сортирные шуточки в детском мультике достали», а кто-то о том же напишет «отличный фильм, как раз, чтобы посидеть в кино с друзьями, ни о чем не думать, поесть попкорна» или «новые детские мультики ближе к жизни, у меня ребенок из садика с такими штуками приходит, уж не знаю, куда там воспитатели смотрят».
Как меняется рейтинг с такими отзывами — сами понимаете, процесс рандомный. И остается либо (на манер Экслера) смотреть самому, и на свой вкус отбирать и рейтинговать (а посмотреть то, что еще только будет идти, надо еще заняться, если только не судить по трейлерам или экранкам), либо делать что-то свое, но на чужом материале (не замечали, что на 99% сайтов о фильмах и с фильмами описание свежих картин скопировано друг у друга, в т.ч. и категории, так что «Война и мир», оказавшись, с легкой руки одного «обозревателя», «боевиком», «драмой» и «комедией», так и будет у всех «боевиком-комедией»).
Кратко говоря, проект ценится обычно за самобытность и за уникальность. Если вы сделаете еще один агрегатор афиш, то кому он будет нужен? Строго говоря, в каждом городе есть хоть один сайт типа «городской портал», и во всех них есть раздел «Афиша». Если вы сделаете что-то, в корне отличное от этих «Афиш», то честь Вам и хвала, если нет — не беритесь.
dmitry_ch
29.06.2016 12:30+144 человека сказали, что им проект интересен
41 выразил мысль, что сервис им не нужен. Вы не слушайте людей, вы слушайте себя. Хотите — делайте, все равно польза будет. Кто там, Форд говорил: «Если бы я спрашивал людей, каким они видят первый автомобиль, мы бы до сих пор ездили на лошадях?» Не поручусь за точность цитаты, но ведь идея верная!NeuroHunter
29.06.2016 13:29FYI: меня как-то одернули американцы за эту цитату, так что пришлось немножко покопаться — Форд этого, действительно, не говорил. Это, скорее, интерполяция его образа.
karminski
29.06.2016 12:42+1Продолжайте делать сервис для себя. Состязаться с другими агрегаторами вам не под силу. Вы один разработчик, а их целые команды по 100500 человек. Вы не сможете сделать сервис лучше, чем та же Афиша, потому что берете данные с их сервиса. Но вы сможете приобрести бесценный опыт, который может пригодиться вам позже.
Я бы посоветовал вам сначала провести аналитическую работу. Соберите информацию о других подобных сервисах. Узнайте, что не устраивает/раздражает пользователей этих сервисов, чтобы сделать ваш сервис лучше.
susumanin
Вроде ж куча приложений для смартфонов (в том числе упомянутый вами Кинопоиск) умеет такое + покупка билетов там же прикручена.
chernish2
Спасибо, честно говоря, не знал о приложениях, поскольку предпочитаю пользоваться компьютером.
NeuroHunter
Еще было бы здорово добавить разброс цен на сеансы. Или API Кинопоиска не отдает такую информацию?
chernish2
Спасибо, постараюсь вытащить.
zharikovpro
В мобильном приложении Афиши такое есть, весьма удобно работает. Я в дороге бывает смотрю что-где-когда есть, и прямо по дороге в кино покупаю билет.
zharikovpro
Естественно, приложение Афиши работает во многих городах. Плюс, ваш сервис показывает, что идет в ближайших кинотеартах. Приложение от Афиши удобнее в другом случае — когда я хочу посмотреть конкретный фильм, оно умеет показывать где поблизости и когда он идет.