Skip to content

Этот проект представляет собой скрипт для обработки экспортированных чатов из Telegram. Он извлекает текстовые, голосовые и видео сообщения из HTML-файлов, распознает текст из аудио и видео сообщений и сохраняет результаты в текстовый файл.

License

Notifications You must be signed in to change notification settings

Tminww/parse-telegram-export-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parse Telegram ExportChat

Этот проект представляет собой скрипт для обработки экспортированных чатов из Telegram. Он извлекает текстовые, голосовые и видео сообщения из HTML-файлов, распознает текст из аудио и видео сообщений и сохраняет результаты в текстовый файл. Проект использует несколько библиотек для обработки данных, таких как BeautifulSoup, speech_recognition, moviepy, pydub и python-dotenv.


Основные функции проекта

  1. Извлечение сообщений из HTML-файлов:

    • Используется библиотека BeautifulSoup для парсинга HTML-файлов.
    • Извлекаются текстовые сообщения, голосовые сообщения (в формате .ogg) и видео сообщения (в формате .mp4).
  2. Обработка голосовых сообщений:

    • Голосовые сообщения конвертируются из формата .ogg в .wav с помощью библиотеки pydub.
    • Распознавание текста из аудио выполняется с использованием библиотеки speech_recognition.
  3. Обработка видео сообщений:

    • Из видео сообщений извлекается аудио с помощью библиотеки moviepy.
    • Аудио сохраняется во временный файл .wav, после чего текст распознается с помощью speech_recognition.
  4. Сохранение результатов:

    • Все извлеченные сообщения (текстовые, голосовые и видео) сохраняются в текстовый файл messages_output.txt.
  5. Использование переменных окружения:

    • Проект использует .env файл для хранения конфигурационных данных, таких как имя пользователя, путь к экспортированным файлам чата и путь к ffmpeg.

Структура проекта

  1. .env файл:

    • Содержит конфигурационные переменные:
      NAME="John Doe"  # Имя пользователя
      CHAT_EXPORT_DIRECTORY="C:\\path\\to\\ChatExport"  # Путь к экспортированным файлам
      PATH_TO_FFMPEG="C:\\path\\to\\ffmpeg\\bin"  # Путь к ffmpeg
  2. Основной скрипт:

    • parser.py — основной файл, содержащий весь код для обработки чатов.
  3. Выходной файл:

    • messages_output.txt — файл, в который сохраняются все извлеченные сообщения.

Как работает проект

  1. Загрузка переменных окружения:

    • Скрипт загружает переменные из .env файла с помощью python-dotenv.
    • Проверяет, что все необходимые переменные (NAME, CHAT_EXPORT_DIRECTORY, PATH_TO_FFMPEG) заданы.
  2. Добавление ffmpeg в PATH:

    • Путь к ffmpeg добавляется в переменную окружения PATH, чтобы библиотеки pydub и moviepy могли использовать его для обработки аудио и видео.
  3. Обработка файлов:

    • Скрипт перебирает файлы messages.html, messages1.html, messages2.html и т.д. в указанной директории.
    • Для каждого файла извлекаются сообщения с помощью функции extract_messages_from_file.
  4. Извлечение сообщений:

    • Для каждого сообщения проверяется, является ли оно текстовым, голосовым или видео.
    • Текстовые сообщения сохраняются напрямую.
    • Голосовые и видео сообщения обрабатываются для извлечения текста.
  5. Сохранение результатов:

    • Все сообщения записываются в файл messages_output.txt.

Пример работы

Входные данные:

  • Экспортированные файлы чата в формате HTML (например, messages.html, messages1.html).
  • Голосовые сообщения в формате .ogg.
  • Видео сообщения в формате .mp4.

Выходные данные:

  • Файл messages_output.txt, содержащий все сообщения в формате:
    [Время] [Имя пользователя] - [Текст сообщения]
    [Время] [Имя пользователя] - [Голосовое сообщение] [Распознанный текст]
    [Время] [Имя пользователя] - [Видео сообщение] [Распознанный текст]
    

Зависимости

Для работы проекта необходимо установить следующие библиотеки:

pip install beautifulsoup4 speechrecognition moviepy pydub python-dotenv

Также требуется установить ffmpeg и добавить его в PATH.


Как использовать

  1. Установите зависимости:

    • Установите необходимые библиотеки и ffmpeg.
  2. Создайте .env файл:

    • Укажите в нем имя пользователя, путь к экспортированным файлам и путь к ffmpeg.
  3. Запустите скрипт:

    • Выполните команду:
      python parser.py
  4. Проверьте результат:

    • Результаты будут сохранены в файл messages_output.txt.

Пример вывода

Файл messages_output.txt может выглядеть так:

2024-02-22 18:27 John Doe - Привет, как дела?
2024-02-22 18:28 John Doe - [Голосовое сообщение] Давай встретимся завтра.
2024-02-22 18:30 John Doe - [Видео сообщение] Я сейчас на работе.

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


Установка и настройка проекта

1. Установка виртуального окружения

Виртуальное окружение позволяет изолировать зависимости проекта от системных библиотек. Для его создания выполните следующие команды:

  • Для Windows:

    python -m venv .venv
  • Для Linux/macOS:

    python3 -m venv .venv

2. Активация виртуального окружения

После создания виртуального окружения его необходимо активировать:

  • Для Windows:

    .venv\Scripts\activate.bat
  • Для Linux/macOS:

    source .venv/bin/activate

3. Установка Poetry

Poetry — это инструмент для управления зависимостями и виртуальными окружениями в Python. Установите его с помощью pip:

pip install poetry

4. Установка зависимостей

После установки Poetry используйте его для установки зависимостей проекта:

poetry install

Этот команда установит все необходимые библиотеки, указанные в pyproject.toml.


Установка FFmpeg вручную

FFmpeg — это обязательный инструмент для обработки аудио и видео. Его необходимо установить вручную, так как он не является Python-библиотекой.

Для Windows:

  1. Скачайте последнюю версию FFmpeg для Windows: FFmpeg для Windows.

  2. Распакуйте архив в папку проекта (например, C:\path\to\project\ffmpeg).

  3. Укажите путь к FFmpeg в .env файле:

    PATH_TO_FFMPEG="C:\\path\\to\\project\\ffmpeg\\bin"

Для Linux:

  1. Скачайте последнюю версию FFmpeg для Linux: FFmpeg для Linux.

  2. Распакуйте архив в папку проекта:

    tar -xf ffmpeg-master-latest-linuxarm64-gpl-shared.tar.xz -C /path/to/project/ffmpeg
  3. Укажите путь к FFmpeg в .env файле:

    PATH_TO_FFMPEG="/path/to/project/ffmpeg/bin"
  4. Добавьте FFmpeg в переменную окружения PATH:

    export PATH=$PATH:/path/to/project/ffmpeg/bin

Настройка .env файла

Создайте файл .env в корневой директории проекта и добавьте в него следующие переменные:

NAME="John Doe"  # Имя пользователя
CHAT_EXPORT_DIRECTORY=C:\\path\\to\\ChatExport  # Путь к экспортированным файлам
PATH_TO_FFMPEG=C:\\path\\to\\ffmpeg\\bin  # Путь к FFmpeg

Замените значения на актуальные для вашей системы.


Запуск проекта

После завершения установки и настройки выполните команду для запуска скрипта:

python parser.py

About

Этот проект представляет собой скрипт для обработки экспортированных чатов из Telegram. Он извлекает текстовые, голосовые и видео сообщения из HTML-файлов, распознает текст из аудио и видео сообщений и сохраняет результаты в текстовый файл.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages