Skip to content

About

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

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages