В этой статье я постараюсь максимально доступно даже для далеких от кодинга людей рассказать, что можно сделать, что нельзя и какова трудоемкость всего процесса. Готовых исходников, правда, я тебе не выдам, но будут небольшие примеры для наглядности.
Как известно, в «Телеграме» есть чаты и каналы, куда, бывает, набивается множество пользователей. Иногда весьма полезно иметь их список, например для каких‑то рассылок и приглашений.
Обычно под словом «парсинг» в контексте телеги понимается именно получение списка пользователей канала или чата. Реже — получение еще и списка сообщений.
Каналы
Начнем с каналов. Канал — это некий ресурс в «Телеграме», где юзеры только читают сообщения владельца канала. Сами они ничего писать не могут за исключением тех случаев, когда к каналу привязан чат для комментариев. Тогда у подписчиков появляется возможность комментировать сообщения владельца.
Получить список подписчиков канала без привязанного к нему чата с комментариями можно, только если это твой канал и у него меньше 200 подписчиков. Если хотя бы одно из этих условий не выполняется, парсинг недоступен чисто технически и никто не сможет его провести, что бы тебе ни обещали. Возможно, в будущем появятся какие‑то новые способы — легальные или с использованием дыр, но пока рабочих способов нет.
Если же чат с комментариями существует, то спарсить пользователей ты можешь точно так же, как в случае с любым другим чатом.
Что касается списка сообщений в канале, то его можно получить как программно, через API «Телеграма», так и вручную, экспортировав список сообщений с помощью штатного клиента.
Чаты
С чатами гораздо интереснее. Вручную вытащить список юзеров через стандартный клиент не получится, разве что сидеть с блокнотом и ручкой и выписывать всю интересующую информацию. Способ не очень, так что придется посмотреть в сторону родного API Telegram или, если хочешь упростить себе жизнь, на какую‑нибудь библиотеку, например Telethon.
В Telethon есть функция GetParticipantsRequest, которая получает на вход некую сущность (entity), а на выходе выдает список пользователей.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»