Содержание статьи

Не­дав­но оку­нул­ся в вол­шебный мир пар­синга чатов в «Телег­раме» и был удив­лен, сколь­ко одно­тип­ных воп­росов зада­ют, какой низ­кий уро­вень понима­ния у людей, нуж­дающих­ся в пар­синге, и как мно­го раз­водов и зло­упот­ребле­ний со сто­роны тех, кто берет­ся пре­дос­тавлять такую услу­гу. Пос­мотрев на это, я решил разоб­рать­ся самос­тоятель­но.

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

Как извес­тно, в «Телег­раме» есть чаты и каналы, куда, быва­ет, набива­ется мно­жес­тво поль­зовате­лей. Иног­да весь­ма полез­но иметь их спи­сок, нап­ример для каких‑то рас­сылок и приг­лашений.

Обыч­но под сло­вом «пар­синг» в кон­тек­сте телеги понима­ется имен­но получе­ние спис­ка поль­зовате­лей канала или чата. Реже — получе­ние еще и спис­ка сооб­щений.

 

Каналы

Нач­нем с каналов. Канал — это некий ресурс в «Телег­раме», где юзе­ры толь­ко чита­ют сооб­щения вла­дель­ца канала. Сами они ничего писать не могут за исклю­чени­ем тех слу­чаев, ког­да к каналу при­вязан чат для ком­мента­риев. Тог­да у под­писчи­ков появ­ляет­ся воз­можность ком­менти­ровать сооб­щения вла­дель­ца.

По­лучить спи­сок под­писчи­ков канала без при­вязан­ного к нему чата с ком­мента­риями мож­но, толь­ко если это твой канал и у него мень­ше 200 под­писчи­ков. Если хотя бы одно из этих усло­вий не выпол­няет­ся, пар­синг недос­тупен чис­то тех­ничес­ки и ник­то не смо­жет его про­вес­ти, что бы тебе ни обе­щали. Воз­можно, в будущем появят­ся какие‑то новые спо­собы — легаль­ные или с исполь­зовани­ем дыр, но пока рабочих спо­собов нет.

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

Что каса­ется спис­ка сооб­щений в канале, то его мож­но получить как прог­рам­мно, через API «Телег­рама», так и вруч­ную, экспор­тировав спи­сок сооб­щений с помощью штат­ного кли­ента.

 

Чаты

С чатами гораз­до инте­рес­нее. Вруч­ную вытащить спи­сок юзе­ров через стан­дар­тный кли­ент не получит­ся, раз­ве что сидеть с блок­нотом и руч­кой и выписы­вать всю инте­ресу­ющую информа­цию. Спо­соб не очень, так что при­дет­ся пос­мотреть в сто­рону род­ного API Telegram или, если хочешь упростить себе жизнь, на какую‑нибудь биб­лиоте­ку, нап­ример Telethon.

В Telethon есть фун­кция GetParticipantsRequest, которая получа­ет на вход некую сущ­ность (entity), а на выходе выда­ет спи­сок поль­зовате­лей.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    7 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии