tmesca - это сканер публичных сущностей Telegram через парсинг содержимого коротких ссылок на t.me
. Принцип крайне прост:
- Генерируем ссылку на
t.me
- Выкачиваем её содержимое
- Анализируем и определяем, что оно из себя представляет (пользователя/канал/стикеры и т.д.)
- Сохраняем информацию в нужную базу данных на основании типа сущности
Поэтому tmesca не требует аккаунта в Telegram и не зависит от Telegram API.
- Различные виды генерации ссылок:
- Линейный поиск - генерирует все ссылки с определённой длиной. Другими словами, брутфорс.
- Случайный поиск - генерирует случайные ссылки длинной от 5 до 32 символов.
- Типы контента для парсинга:
- Каналы
- Группы
- Пользователи
- Стикерпаки
- Боты
- Вывод в Telegram
- Турбо-режим - может быть включен чтобы ускорить парсинг.
t.me
позволяет только 300 запросов в минуту с одного адреса.
Вам потребуется git, python3 и pip, а для второго способа ещё pipenv.
Этот способ рекомендуется для новичков. Просто выполните эти команды в терминале.
git clone https://github.com/Antcating/tmesca.git
cd tmesca/
pip install -r requirements.txt
python3 -m tmesca
Способ для продвинутых. Этот способ предполагает, что вы знаете что делаете.
git clone https://github.com/Antcating/tmesca.git
cd tmesca/
pipenv install
pipenv run tmesca
tmesca не требует никакой конфигурации по умолчанию и запросит все необходимые настройки при запуске. Однако, для постоянных запусков может быть удобнее скофигурировать под себя. Для базовой конфигурации достаточно скопировать файл tmesca.example.yml
в tmesca.yml
. Детальное описание всех полей вы можете найти в том же файле.
Парсер soup
работает поверх Beautiful Soup и lxml, а парсер lighting
использует простые сравнения строк. Соответственно soup
работает точнее, но lighting
быстрее на ~30%. Рекомендуется использовать lighting
с режимом link
, а soup
с режимом full
.
Для вывода Telegram вам необходимо проделать следующие шаги:
- Создайте бота Telegram с помощью BotFather и получите Bot Token Telegram.
- Получите id своей страницы в Telegram. Можно сделать с помощью этого бота.
- Создайте конфиг, если ещё нет. Можете закомментировать всё не нужное.
- В конфиге вставьте Bot Token Telegram, полученный ранее в строку
bot_token
, а id в строкуuser_id
. - Ура! Все готово. Развлекайтесь!
Отдельная благодарность @flexagoon за перевод README.md на русский язык.