Всем привет, меня зовут Владислав, я Java‑разработчик. В двух словах — навайбкодил мини‑приложение, которое переносит оценки с кинопоиска (далее КП) на imdb. Дальше речь пойдет именно про это.
Знакомство с КП
Ещё в школьные годы я начал смотреть фильмы с осознанным подходом. Смотреть то, что шло по ТВ стало менее интересно. Выбор фильма упирался в выбор телеканала, из тех, которые были подключены, рекламы, конкретное время показа. Все это доставляет неудобства. Решение очевидно — выбрать фильм и посмотреть его на какой‑то платформе. Но как выбрать фильм? Тут и пришел на помощь КП. Оценки, рецензии, трейлеры, куча информации о фильме, актерах, режиссерах и всего того, что было нужно и не нужно.
Но что не так с КП?
В октябре 2013 года яндекс выкупил КП. Для меня на тот момент это ничего не значило, ведь сервис остался прежним и продолжал работать.
И перезапуск 2015 года не сильно повлиял на мое мнение, ведь все вернули обратно. Но всё‑таки они реализовали свою идею в 2018 году и добавили онлайн просмотр.
Следующая неприятность случилась в 2019 году, когда авторизацию сделали только через яндекс. Именно тогда мне и пришлось зарегистрироваться в этой экосистеме.
А в 2020 году изменили систему оценок. Все это, несомненно, не доставляло положительных эмоций. Но то, что происходит в последние годы, совершенно другая история.
Сейчас первые 3/5 части главной страницы занимает реклама в том или ином виде. Реклама стримингов, реклама яндекса, реклама фильмов, которые мне не интересны. Я захожу туда, чтобы поставить оценку просмотренному фильму, поискать что посмотреть, или прочитать статью и новости из мира кино. И весь этот функционал остался. Но качество статей заметно упало. Появилось продвижение «наших» фильмов. Информация о фильмах появляется с задержками и так далее
К примеру так


Стало нельзя посмотреть дату оценки фильма друга и много чего ещё. Ведь, как все мы знаем

Что дальше?
И я задумался о переходе на imdb. Переносить ~1300 оценок (на момент идеи) руками достаточно трудоёмкое занятие, которого я хотел избежать. Первое, что я сделал — загуглил, есть ли такой сервис. Увы, такого не оказалось. А те, которые всплывали, уже давно устарели и не работают. Второй вариант — написать такой скрипт самому. Но изучать какой‑то новый фреймворк или язык исключительно для этого не очень хотелось. Быстрее было бы уже перенести руками. Я погуглил ещё и наткнулся на imdb api, которое облегчило бы мне задачу. Изучив информацию, решил им написать. Описал вкратце ситуацию и что мне пригодился бы эндпоинт для проставления оценок. И я получил от них ответ.

Скажем прямо, ценник меня не сильно обрадовал и эту идею я забросил. Я продолжил пользоваться КП. К слову, у КП нет открытого api. Все это время сервис не становился лучше. Совсем.
Знакомство с ИИ
Вообще, всю эту тему с ИИ я не воспринимал серьёзно и больше ощущал как игрушку для развлечения. Но постепенно отношение к нему начало меняться, наверное, параллельно с его развитием. Сначала я начал пользоваться ИИ ответами гугла, затем и сам начал ему задавать вопросы. В апреле этого года мой друг (не айтишник) хвастался тем, что поставил себе gemini на телефон и практически боготворил его. Вскоре я его скачал и тоже начал пользоваться. А летом этого года, на каком‑то из созвонов с ТЛ, он показал своего агента, как он его использует и для чего. Я заинтересовался и поставил себе. Посмотрев несколько обучающих видео на корпоративном портале про агента, настроил его, конфиги, субагентов, температуру, промты, mcp, плагины и так далее. В общем, комфортное окружение, которое продолжаю улучшать по мере необходимости. Слегка освоившись с технологией, вспомнил про свою боль с КП.
Проект
Мини‑заготовка проекта уже имелась, но она была настолько сырая, что даже и не понятно было что это и для чего. И я решил попробовать агента, чтобы допилить свою задумку. Можно было бы написать оптимальный скрипт, например на python, но, когда в руках молоток — все проблемы гвозди. Поэтому я продолжил писать на java. На самом деле этот выбор был обусловлен следующим:
Это то, что я знаю, и могу легко прочитать и исправить самостоятельно.
На java тоже можно реализовать эту задумку.
Попробовать в принципе агента на «боевой» задаче.
Процесс строился достаточно незамысловатым образом. Я говорю, чего ожидаю от приложения, он пишет. Правки, доработка разных кейсов и все по кругу. Сейчас бы этот процесс я выстроил иначе, но в начале пути бил в лоб.
Смолл ток про ошибки



Итого: имеем spring boot, Selenium, jsoup, JavaFX.
Разработка
Изначально задумывалось, что приложение будет парсить html страницы, брать оценку и проставлять её на imdb. Но в процессе разработки наткнулся на неофициальную апи кинопоиска. У них есть достаточно разных эндпоинтов, в том числе и единственный нужный мне — получение оценок пользователя. Единственная загвоздка была в том, что этот эндпоинт возвращает ~1500 последних оценок пользователя. В моем случае это было идеально. Но, например, у моего друга 4к+ оценок и этот лимит был очень некстати. Я написал им на почту, рассказал про свою задумку, и ребята любезно повысили лимит, за что им отдельное спасибо.
Приложение парсит оценки с КП, сохраняет дамп, проставляет оценки на imdb.
Сперва парсинг и проставления были единым процессом. Проставление на imdb всегда было и есть через браузер, фреймворк selenium. А вариантов парсинга было несколько:
селениум (чистый парсинг через браузер)
апи (только через api kinopoiskapiunofficial)
hybrid (первые 1500 через апи, остальное через селениум)
дамп (если он остался с прошлого парсинга)
Вначале на парсинг и проставление на фильм уходило много времени. Очень много. Порядка 15–20 секунд. Это было связано с тем, что у обоих сервисов анти‑бот, и агент посоветовал делать задержки между фильмами.

Проведя простые подсчёты выходим на 180–240 фильмов в час. Даже для моих оценок это очень долго. Потом процесс парсинга и проставления оценок разделился на 2 независимых по нескольким причинам. Основные — это долгий процесс, не всегда есть возможность оставить ПК. В случае возникновения ошибок, пропуска фильмов и так далее приходилось начинать все заново. Также таймауты были заметно уменьшены, а на КП убраны вовсе.
Вдобавок был повышен лимит для апи. По итогу для парсинга осталось 2 способа — селениум и апи.
Парсинг
Апи
Плюсы:
работает в разы быстрее
отдает imdbId

Минусы:
вам нужно будет зарегистрироваться на сайте и получить токен. Хоть это и бесплатно, но отнимает время. Он нужен в самом приложении.
отдает imdbId не всех фильмов, и не всегда корректный, но по большей части верный. По личным наблюдениям без какой‑либо статистики, процентов 80–85 всё ок.
парсит не все фильмы. Проверял на профиле друга, у которого 4151 оценка. Апи вернуло 4094, то есть потеря оказалась 1.37%, что в данном случае очень хороший результат. В моем же случае — 1496 из 1530. Потеря 2.22%
Селениум
Плюсы:
парсим все фильмы без потерь
не надо дополнительно нигде регистрироваться
Минусы:
отсутствует imdbId
медленно
Немного про селениум.
Браузер открывается сам, пользователю нужно авторизоваться на КП и закрыть все лишние всплывающие окна. Парсинг работает следующим образом. Сейчас на КП вы можете на странице посмотреть только 20 оценок. Чтобы посмотреть следующие, необходимо перейти на следующую страницу. Селениум парсит название, год и id всех фильмов на странице, переходит на следующую. И так пока на странице не станет меньше 20 фильмов. Это значит, что это последняя страница. Далее по списку заходим на страницу каждого фильма и парсим оригинальное название. Оно необходимо для поиска фильма на imdb. Тут может возникнуть трудность. Если фильм условной Испании, то оригинальное название на испанском, а на imdb оно будет на английском. Если фильм русский, то оригинальное название отсутствует, на imdb название транслитом. Или же фильм, в названии которого только цифры. У него также может отсутствовать оригинальное название.
Если у вас например 505 оценок, то придётся парсить 26 страниц, чтобы собрать основную информацию. Но дальше больше. Необходимо пройти по каждому фильму отдельно и добрать необходимую оригинальное название фильма, так как на странице с оценками только российское. Итого получается надо открыть в браузере 26 + 505 = 531 страницу.
Пример парсинга моего профиля по времени (1530 фильмов):
75 страниц апи — примерно 45 секунд
77 страниц селениум — примерно 1 минута 23 секунды + парсинг каждого фильма, чтобы забрать оригинальное название. Уходит за 10 минут.

Спарсить можно оценки любого пользователя, равно как и посмотреть их самому. В приложении вы просто указываете id пользователя, и работа идет по нему.
После парсинга все фильмы сохраняются в дамп. Именно из него и проставляем оценки на imdb. Вначале всё было в памяти приложения до окончания парсинга, после данные сохранялись в дамп. Но горький опыт заставил меня обновлять дамп каждые 20 спарсенных фильмов. При повторном заходе по каждому фильму — по 5. А для апи каждые 100.
Проставление
Тут нюансов несколько меньше.
Данные берутся из дампа, полученного на этапе парсинга. Проставили 5 оценок, записали статус по ним в дамп, поехали дальше. Аналогично парсингу. При проставлении оценок на imdb также нужно авторизоваться на ресурсе и закрыть все лишние всплывающие окна.
По логике имеется только 1 развилка — есть ли imdbId или нет. Если есть — переходим по прямой ссылке и ставим оценку. Как уже известно, наличие imdbId не говорит о его корректности.
Бывает и такое



то есть оценка улетела не тому фильму
Но перепроверять его каждый раз значит отказаться вовсе.
Если же imdbId нету, то ищем фильм по оригинальному названию + год. В поиске может оказаться несколько подходящих вариантов

Мне очевидно какой подходящий, но приложению нет. Оно знает только название и год. Сначала бралось самое первое из списка, но не всегда порядок выстраивается как на скрине выше. Поэтому оценка могла улететь не туда. Затем, в случаях если вариантов несколько, сделали логику не проставлять оценку. Но такие результаты поиска сплошь и рядом, и получалось очень много пропусков.

После всё же вернулись к первоначальной реализации, добавив пару фильтров. Можно было бы ещё писать в дамп продолжительность фильмов, режиссера, актеров и так далее и сопоставлять по ним. Тогда качество поиска стало бы выше, но для домашнего использования это перебор.
Также у некоторых фильмов год на imdb и КП может отличаться ±1
Разные года


Статусы в дампе
Для обычного пользователя весь процесс проходит в приложении. Чтобы пользователь не паниковал и понимал, что сейчас происходит, был добавлен вывод логов. Но для меня вся информация хранится в дампе. Самое важное — статус. Что же именно произошло.
успешно. Оценка проставлена на imdb и подтверждена (после проставления прочитали на странице == оценке КП)
проставлено с оговоркой. Тоже проставлено и подтверждено, но выбор шёл через неоднозначную выдачу (≥2 точных матчей: выбрали по году ±1, либо первый по релевантности)
пропущено (уже стоит оценка). На imdb уже стоит оценка, и она равна оценке КП
руками (оценки отличаются). На imdb уже стоит оценка, но она не соответствует оценке на КП. Пользователь решает сам что делать.
неполные данные. Отсутствует название или оценка КП в дампе.
не найден. Поиск не нашёл фильм, либо неоднозначный выбор не прошёл верификацию (тип страницы не Movie/TVSeries, название/год не совпали)
ошибка.
Реальный дамп до некоторых исправлений

Первая строка — только год и kp_id. Статус — не найден, что вполне логично. Именно эта строка почему‑то дублируется несколько раз конкретно в этом дампе, возможно временная ошибка апи. Я проверил что это за фильм — какой‑то русский сериал, который пользователь даже не оценивал.
Вторая строка — тот же статус. При поиске видимо выдало что‑то не то.
Дальше ещё 4 строки, две со статусом успешно, две с одинаковой ошибкой. Причина — перехват клика, который сейчас уже исправлен.
В завершение
В настоящий момент стараюсь соблюдать баланс скорость — качество и для тех у кого 100 оценок, и для тех, у кого их 5000.
Свои оценки, если честно, я проставил ещё в режиме дебага. Но возник вопрос, как это сделать обычным людям. Вряд ли у многих из них стоит необходимое окружение. Поэтому агент помог написать десктоп (JavaFX). Я решил свою боль и даю возможность решить её обычным пользователям ПК.
Приложение не подойдет тем, у кого большинство фильмов — отечественные по уже изложенным в этой статье причинам. Но что‑то мне подсказывает, что им и не надо на imdb.
Не возьмусь утверждать насколько эффективно приложение, но по моему субъективному мнению, процентов на 85 так точно. Т.е. это те фильмы, которые корректно спарсились и корректно проставились.
Но есть и минусы. Из‑за того, что приложение работает в первую очередь с html, даже легкий редизайн одного из ресурсов может его поломать. Вряд ли будут трудности, чтобы это исправить, но это постоянная поддержка и обновления.
Конечно, есть мысли по улучшению, например единая база kpId — imdbId, чтобы ускорить и улучшить качество, но ещё думаю над реализацией.
Пользуйтесь, пробуйте, рассказывайте друзьям. Посмотреть код и скачать установщик можно тут — https://github.com/VladSmr/Notes
Спасибо за прочтение, буду рад обратной связи.
Комментарии (117)

baalmef
03.10.2026 10:53Я после отключения моей законной учётки на КП просто ушёл на Кинориум, там можно зарегистрироваться на свою обычную почту и он без проблем импортировал все мои оценки.

dekeyro
03.10.2026 10:53зашел увидеть этот коммент. Тоже прочитал про API и удивился- у кинориума же получился парсинг.

VladSmir Автор
03.10.2026 10:53Конечно, в процессе мне тоже попадался кинориум, и я тоже перенес туда свои оценки. Но почему-то не прижился он у меня.
Да и выбор imdb, конечно, больше вкусовщина. Для меня есть несколько плюсов.
Imdb - родоначальник таких кино-ресурсов, он популярен во всем мире, а не только СНГ. Например, если тыкнуть на оценку, он показывает в каких странах какой рейтинг и как голосовали. Не всех конечно, а первые несколько. И плюсом, все на английском. Для тех кто хочет подучить - очень даже. Как говориться, дьявол в деталях.

MountainGoat
03.10.2026 10:53На рейтинг может сильно влиять кривой перевод.

powerman
03.10.2026 10:53Объективности ради, озвучек на русский у многих фильмов/сериалов заметно больше одной, и качество у них сильно разное. Так что оценка на чисто русском сервисе вполне может гулять ровно по той же причине.

Xokare
03.10.2026 10:53А Rotten Tomatoes не рассматривали? Раз уж буржуинское нравится. Для российских фильмов не особо годится - для зарубежных подходит.

VladSmir Автор
03.10.2026 10:53Не слышал, сейчас потыкал, как будто все таки немного не то. Да и с рф ip не отрывается

Lazytech
03.10.2026 10:53Спасибо за рекомендацию. Если я правильно понял, на Kinorium.com, в отличие от Кинопоиска, преобладают короткие рецензии. Притом на Кинопоиске рецензий зачастую может быть больше, чем на Kinorium.com (иногда в разы, особенно если фильм или сериал вышел до основания сервиса Kinorium.com). В частности, сужу по сериалу “В поле зрения” (Person of Interest) и фильму “Институт Аттикус” (The Atticus Institute).
В поле зрения (сериал, 2011 – 2016)
«В поле зрения» (2011-2016) <…> — Кинопоиск

maldalik
03.10.2026 10:53У Кинориума огромный минус, в фильтрах нет "исключающие жанры". Попробовал найти комедию за последние годы в топах. Ни одной комедии в списке нет, только комедия, драма, криминал и подобное. То есть к комедиям относят все фильмы где встречаются шутки. Например Проект «Конец света» офигенная же комедия да?
Пардон глянул внимательнее, он вообще не должен был в список попасть


Lazytech
03.10.2026 10:53Я обычно смотрю, какие фильмы и сериалы обсуждают на всяких-разных профильных сайтах и форумах, а потом пробиваю заинтересовавший меня фильм или сериал по названию на imdb, Кинопоиске, RottenTomatoes и иже с ними.
Что касается поиска по жанру, увы и ах. К примеру, запускаю на imdb расширенный поиск фильмов по жанру “Sci-Fi” (научная фантастика) с рейтингом 6,0 и выше, а мне в довесок накидывают кучу марвеловских фильмов. (рукалицо)

AppleMusic
03.10.2026 10:53У Кинориума огромный минус, в фильтрах нет "исключающие жанры".
Исключающие жанры в Кинориуме, конечно же, есть. Нажимайте "-" в селектбоксе справа от жанра. Так что нет никакого "огромного минуса Кинориума" :)
"Проект Конец света" временами действительно комедия. Такой жанр есть на странице фильма, в имдб в том числе.

maldalik
03.10.2026 10:53Оно в поиске, в топе нету. . :( А насчет жанров, с таким походом все фильмы - комедии. Берешь какой-нибудь Коммандо со Шварцем, о, он там пошутил, добавляем жанр. Там вон и Джанго Освобожденный в списке. Поржал от души, когда кино смотрел.
Еще внезапно, стендап концерты классифицируются поиском как фильмы комедии... И их в списке прямо очень много, удивлен уже, что КВНа нет. Может подскажете как отфильтровать?


Okeu
03.10.2026 10:53омайгад, зашел туда, и сразу на главной странице увидел 3 звезды и громких отечественных релизов) Однозначно сайт добавляется в избранное, надеюсь его не прикроют за дискредитацию отечественного кинематографа)))))))

fermentum
03.10.2026 10:53Тем временем у imdb выгрузка оценок в csv делается одной кнопкой Export.

Rrs
03.10.2026 10:53Да вроде и у яндекса тоже https://id.yandex.ru/personal/data?dialog=service-data&slug=kinopoisk

becefi
03.10.2026 10:53Зачем вообще переносить оценки?

bolarson
03.10.2026 10:53У меня плохая память и при этом просмотрено тысячи всего. В какой-то момент в очередной раз поймал себя на мысли, что не помню смотрел ли фильм Х ли нет. С тех пор ставлю всему оценку.
Ну и раньше точно были крутые рекомендации на основе оценок. А счас как и раньше любопытно смотреть насколько понравился фильм друзьям или просто юзерам с похожим на мой вкусом.

Wesha
03.10.2026 10:53Зачем вообще переносить оценки?
Господин считает, что без его Особо Ценного Мнения™ человечество безвозвратно обеднеет.

habranon
03.10.2026 10:53Уже попрощался с кинопоиском когда его купил яндекс. Если будит создан клон старого кинопоиска, то много кто будет им пользоваться.

ndrd
03.10.2026 10:53Давно уже есть - https://ru.kinorium.com/
Вполне себе жив, многие пользуются.
Wesha
03.10.2026 10:53Давно уже есть - https://ru.kinorium.com/
Давно уже есть: https://rutracker.org/

Elbrus128
03.10.2026 10:53Я уж думал, что меня кто-то устроил на работу в Техподдержку Яндекса, когда стал читать про то, какой плохой сервис.
Нам-то зачем это писать?!
Написали бы в саппорт ихонный.
Не нравится совсем – пользуйтесь другим.
Нормальных фильмов выходит один года за два. Какие ещё рекомендации?
А, чтобы смотреть весь мусор подряд наго его подряд смотреть.

GoblinHero
О да... После разделения бизнеса Яндекс вымораживает с запредельным количеством рекламы во всех своих проектах. Стараюсь минимизировать пользование их сервисами.
aldekotan
Оффтоп: у вас тоже при входе на сайт хабра появилась обязательная капча от Яндекса?
GoblinHero
Да. Ее еще мой блокировщик рекламы не хотел пропускать.
MountainGoat
Да, причём если капча недоступна, пользователю не выводится никакой ошибки. Просто кнопка "войти" ничего не делает. Я 3 дня не мог понять, в чём дело. И техподдержки нет.
naky
Техподдержка есть, только она якобы не знает, в чём проблема. Прямо так и пишут.
MountainGoat
Конечно не знает. Доступ к ней закрыт той же капчой. Поэтому кто до них достучался, у тех проблем нет.
naky
У меня был в почтовой истории их e-mail, я им просто напрямую написал. Поэтому достучался и проблема была.
VladSmir Автор
Тоже придерживаюсь такой политики. Иногда лучше переплатить. Уже отказался от музыки, лавки, еды и чего-то там еще. Пока что только пользуюсь такси и карты, т.к. альтернативы пока все же проигрывают
MountainGoat
Такси есть много. А вот карты с маршрутами общественного транспорта - вот где туго.
wyfinger
Карты яндекс древней версии поищите. 10.1 использую, работает, рекламы нет и на впн точно не стучит.
Artur_Averin
Поставил, вроде работает)
klpkw
Есть еще Yango Maps, который весьма очевидно подразумевает от кого он, но при этом рекламы минимум, где то в одном месте всплывает
Evgenym
Тоже радовался, что в Янго минимум рекламы, но недавно ехал по их навигатору. Переплевался. Работает ужасно. Пропустил поворот, навигатор не перестраивает маршрут. Вообще не перестраивает. Перестраивание работает только если переоткрыть приложение и вбить конечную точку заново. Сейчас пользуюсь 2Gis.
usiqwerty
2Гис это умеет
vcKomm
Рекламы там не меньше. В самой карте, поверх интерфейса какой-нибудь огромный баннер в углу, и регулярно истории при первом входе.
Как они вернулись в стор, приложение обновилось и на 1-2 секунды стало дольше грузиться
9lLLLepuLLa
2gis
rombell
Так 2GIS же намного лучше в городах
maniak
Yango maps тот же яндекс только для мусульман, без рекламы и прочего
Trab_l13
В моём городе альтернативы яндекс такси сильно им проигрывают, поэтому, к сожалению, в большинстве случаев приходится пользоваться их сервисом
micronull
2gis?
upd: сначала читай - потом пиши))) Потом только увидел что накидали ответов.
AlecGoldman
А я вот, использую поиск по параметрам по тем фильмам, которые готов смотреть, и других фильмов нет, хоть как угодно ищи - искать нечего, я уже все посмотрел, что можно было. Периодически пытаюсь что-то найти, ничего нового нет, я ничего и не смотрю. Как человек мог поставить 4000 оценок фильмам, он что, 4000 фильмов посмотрел, а зачем? Ему они все понравились? Объясните pls, я правда не понимаю, зачем это все, кто-то хочет стать кинокритиком, на этом можно заработать, как вы этим пользуетесь? Потому что из статьи вообще непонятно почему трудно наплевать на рекламу и зайти туда пару раз в месяц посмотреть описание какого-то фильма, зачем спарсенная оттуда база данных, как ее применять вы собрались?
peschex0d
если я правильно понял, автор хочет свои оценки скопировать на imdb - вероятно, чтобы предпочтения алгоритмы там подхватили или чтобы самому пересматривать фильмы, которые ранее высоко оценил на КП
но мнение поддержу, жаль столько времени на "картинки" чужой по сути жизни - если сюжет фильма не вымысел полностью
не смотрю сериалы порядка десяти лет совсем, а фильмы только прогремевшие, а ля Аватар или Терминатор
последним сервисом яндекса, которым я пользовался, был Такси, но с момента их монополии в Мск и взлета цен хожу исключительно пешком (на работу) и сплошные плюсы в этом вижу.
Kot_na_klaviature
Кино это не просто «картинки» какие-то из чужой жизни, а погружение в творчество. Там есть драматургия, режиссура, операторское мастерство, актеры, музыка.. Эстетический опыт и обогащение жизни (интеллектуально, эмоционально и тд). Жаль, что не так много времени получается уделять данному занятию, как хотелось бы)
Neusser
Пишет человек, который тратит время на чтение историй из чужой жизни.
Cringeon
На Пхукете тут Гугл мапы норм работают
Из такси есть граб, болт
Прилетайте :)
HiItsYuri
Хорошо там где нас нет. Другое дело делать хорошо там где мы есть.
Cringeon
Да, поэтому делаем себе хорошо в Тае
NoSkill24
Ушел от этой конторы, после того как стали вставлять в просмотр трейлеров по две видео-рекламы с возможностью пропуска каждой через 15 секунд. И еще в новостной подписке перестали присылать новости о кино, заменив все это рекламой кинотеатров и сервисов Яндекса.