Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Movie Parser

Консольное приложение для парсинга данных о фильмах из TSV/CSV файлов (IMDB, MovieLens), построения связей, вычисления похожести фильмов и получения рекомендаций. Данные сохраняются в SQLite базу через Entity Framework Core.

Краткое описание

Проект решает две основные задачи:

  1. Парсинг больших наборов данных (актёры, режиссёры, рейтинги, теги) и сохранение структурированной информации в локальную БД.
  2. Работа с данными — поиск фильмов по названию, актёру или тегу, построение топ-10 похожих фильмов, рекомендации на основе нескольких выбранных.

Алгоритм похожести учитывает:

  • Общих актёров
  • Совпадение режиссёра
  • Общие теги
  • Рейтинг фильма

Инструкция по сборке

Требования

  • .NET 8 SDK
  • Доступ в интернет для скачивания исходных данных (или готовая БД)

Сборка

git clone https://github.com/yourusername/your-repo.git
cd Movie2
dotnet build
Получение данных
Приложение работает в двух режимах: parse (создание БД из исходных файлов) и run (работа с готовой БД).

Скачать готовую базу данных (рекомендуется)
Перейдите в Releases.

Скачайте movies.db.zip из последнего релиза.

Распакуйте архив в корень проекта (рядом с Movie2.csproj). Должен появиться файл movies.db.

Инструкция по использованию
Запуск производится из командной строки в корне проекта.

Режим парсинга (создать movies.db)
bash
dotnet run parse
Процесс займёт несколько минут в зависимости от мощности ПК. В результате появится файл movies.db.

Режим работы с готовой БД
bash
dotnet run run
После запуска откроется консольное меню:

text
=== МЕНЮ ===
1. Поиск фильма
2. Фильмы по актёру
3. Фильмы по тегу
4. Топ-5 по рейтингу
5. Статистика
6. Проверка связей (debug)
7. Выход
Пример работы:

Выберите пункт 1, введите название фильма (или его часть) — отобразится информация о режиссёре, актёрах, тегах и рейтинге.

Пункт 4 покажет 10 лучших фильмов по рейтингу.

ицензия
Этот проект распространяется под лицензией MIT.
См. файл LICENSE для подробностей.

Связь
Telegram

Дополнительная информация
База данных создаётся с помощью Entity Framework Core (провайдер SQLite).

Для ускорения парсинга используется многопоточная обработка с BlockingCollection и Parallel.ForEach.

Все вспомогательные словари (MoviesByPerson, MoviesByTag) очищаются после построения топов для экономии памяти.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages