CoderCastrov logo
CoderCastrov
Netflix

Что говорит Filmweb о фильмах с Netflix?

Что говорит Filmweb о фильмах с Netflix?
просмотров
2 мин чтение
#Netflix

Много лет я являюсь поклонником хороших фильмов. Я тщательно записываю свои отзывы после просмотра на filmweb.pl. Я заметил, что во многих случаях мое мнение совпадает с мнениями других пользователей этого портала. Несколько месяцев назад я продолжил свое киноискусство на сервисе Netflix. Несмотря на множество преимуществ, у него есть один недостаток - система рекомендаций.

Изначально я был склонен ей доверять и смотрел рекомендованные мне фильмы. Однако я быстро понял, что это средние/плохие фильмы, и их просмотр (среди множества хороших фильмов, которые я еще не видел) - просто потеря времени. Из этого родилась идея узнать, какое мнение о фильмах в Netflix имеют пользователи Filmweb и найти лучший фильм на свободный вечер.

Получение списка контента Netflix

Первым шагом является получение списка фильмов, которые в настоящее время доступны на Netflix. Поскольку API сервиса было приостановлено несколько лет назад, мы воспользуемся nflix.pl - веб-сайтом, который хранит информацию о контенте, доступном в популярном приложении VOD. Мы получим английские и/или польские названия фильмов, а также год их выпуска с помощью скрипта на Python:

# код для получения списка фильмов с nflix.pl

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

Получение рейтингов с filmweb.pl

Имея подготовленный список контента, можно приступить к получению основных данных о фильмах, в частности оценок пользователей. Используя поисковик Filmweb, для каждого фильма мы получаем список наиболее подходящих названий (ограничиваясь первой страницей результатов). Для удобства просмотра конечных результатов мы также получаем информацию о продолжительности, жанре и количестве оценок.

Затем из списка фильмов нужно найти наиболее подходящий. В этом процессе были приняты два предположения:

  • год выпуска фильма должен быть в пределах ± 2 лет (из-за разницы во времени публикации между разными странами)
  • название фильма на Filmweb должно быть похоже на 80% на искомое - это принято для учета небольших различий в написании (‘and’ вместо ‘&’; 10**.000 вместо 10,**000), отсутствие артикля (“2nd chance” vs “a 2nd chance”) и т. д.

На этом этапе у нас есть список всех фильмов вместе с оценками пользователей. Мы могли бы закончить поиск, но есть одно но...


Фильтрация просмотренных фильмов

Просматривая сгенерированный список, я быстро обнаружил, что большинство фильмов с самыми высокими оценками я уже видел. Проходить через огромное количество информации в поисках ценных фильмов оказалось утомительным. Поэтому я решил добавить модуль, который войдет в мой аккаунт и для найденных фильмов также загрузит мою оценку. Для этого я использовал модуль Selenium для Python, который часто используется для автоматизации тестирования веб-сервисов. В качестве движка модуля я использовал ChromeDriver в безголовом режиме (скачайте его здесь и поместите в /usr/bin). Все сводится к нескольким шагам:

Когда у вас есть полная информация, достаточно сохранить данные в файл CSV, чтобы можно было удобно просматривать их, например, в электронной таблице:

Весь код можно найти в моем репозитории. Желаю всем удачного просмотра :)