tg_parser_mdb
Описание
Сохранение истории постов телеграм канала с комментариями к ним в mogodb4.4
Языки
Python
Получение API ID и API Hash Чтобы использовать Telegram API клиента, необходимо получить API ID и API Hash. Перейдите на https://my.telegram.org/apps. Войдите с помощью вашего Telegram-аккаунта. В разделе API Development Tools создайте новое приложение: Укажите имя приложения. Опишите его назначение. Выберите платформу (например, Desktop или Web). После создания приложения вы получите API ID и API Hash. Сохраните их, так как они понадобятся для настройки скрипта. Установите Python 3.11 & pip Создайет виртуальное окружение в папке скрипта:
- python3.11 -m venv venv Активируйте виртуальное окружение: для ubuntu
- source venv/bin/activate Установка зависимостей Убедитесь, что у вас установлены необходимые библиотеки Python. Для этого выполните команду: pip install -r requirements.txt
! Конфигурация скрипта В файле .env:
Вставьте полученные API ID и API Hash в соответствующие места: API_ID = 1234567 API_HASH = 'your_api_hash' Укажите данные для подключения к MongoDB:
BASE_NAME = "your_database_name"
BASE_USER = "your_username"
BASE_PASS = "your_password"
DATABASE_URL = "mongodb://localhost:27017"
Укажите имя канала для парсинга: CHANNEL_NAME='channel_name'
Запустите скрипт, чтобы начать сбор данных с Telegram-канала: python3.11 client/main.py
При первом запуске telethon клиент спросит телефон и если на аккаунт установлен облачный пароль, то и его. Введите, больше в этой сессии спрашивать не будет
#Для сменны данных аккаунта необходимо переименовать имя сессии в строке client = TelegramClient('session_name', api_id, api_hash) файла main.py в папке client, также прибить pid который использует старую сессию иначе увидите ошибку OperationalError: database is locked не стоит парралелить парсинг канала с одной сессии клиента, возможен бан Если надо ускорить скорость парсинга, то можно парралелить парсинг канала с несколькими сессиями клиента, по разным датам и оффсетам подробнее о клиенте https://docs.telethon.dev/en/stable/ Скрипт тестировался на Ubuntu 22.04, mongodb 4.4 Образ докера