Как парсить Telegram канал при помощи PHP 38

Когда-то на Хабре была опубликована статья как спарсить Телеграм канал при помощи PHP, как показала практика после прочтения материала появляется ещё больше вопросов, или в процессе тестирования «ни чего не работает».

Нам понадобится:

  1. Действующая учётная запись в Телеграм
  2. Tor браузер под рукой (если вы из РФ и у вас заблокирован доступ к сайту Телеграм)
  3. Обычный хостинг, например Бегет
  4. Знания php и умение использовать composer
  5. PHP 7.2
  6. Умение пользоваться консолью сервера. (Некоторые операции будут выполняться в консоли)

Итак, нужно перейти на сайте Телеграм https://my.telegram.org:

  1. Вводим свой номер телефона
  2. Указываем код подтверждения пришедший в ваше клиентское приложение Телеграм
  3. Переходим в меню API development tools

На этой странице нам нужно заполнить данные о нашем создаваемом приложении (на один номер — одно приложение).

Нам понадобится два параметра: App api_id и App api_hash, далее мы их будем использовать в коде вызова для получения постоянных ключей авторизации.

Следующее что нам надо, это скачать проект https://github.com/danog/MadelineProto к себе в отдельную папку на хостинге и при помощи composer установить все зависимости.

PS: в коде будет использоваться PHP функция «readline» — предварительно установите её на ваш хостинг и проверьте её доступность в консольном режиме PHP.

Для работы с Телеграм из PHP нам потребуются специальные ключи доступа. Для этого воспользуемся «одноразовым» классом, для создания таких ключей:

Запуск метода ::run(); осуществляется через консоль. После некоторой работы скрипта, вас ещё раз попросят ввести номер телефона и код пришедший в телеграм клиент. После этого в папке вашего проекта появятся два файла. session.madeline session.madeline.lock. После этих действий класс Register нам в принципе больше не понадобится, до тех пор пока не наступит окончание периода default_temp_auth_key_expires_in.

Следующий этап — это сам парсинг. Т.е теперь имея ключи авторизации мы можем попробовать обратиться к какому-нибудь каналу Телеграм и взять с него информацию.

Ниже пример простого метода для сбора информации с телеграм канала WordPress:

Тестировать результат вывода этой функции можно уже в обычном браузере, например как на скриншоте:

Парсинг Телеграм канала

 

Обработка полученной информации и прочие действия над информацией из канала уже на вашей фантазии.

Так же не забывайте, что у MadelineProto есть отличная документация, из которой можно подчерпнуть не мало информации для оптимизации кода и используемых методах и функциях.

Пример того как можно обрабатывать группы телеграм у нас на сайте

38 Comments

  1. Здравствуйте. Обнаружила что у меня в группе, конкуренты воруют наших подписчиков. Как я понимаю это выглядит как здесь например писали. От этого безобразия как то можно защитится? Может боты какие есть или что то нибудь… Если нужно, готова платить за такую помощь. Главное что бы 100% у нас не могли воровать подписчиков.
    И еще один вопрос, как можно настроить в группе, бота что бы спамеры не могли свои ссылки постить?

    1. Добрый день! Что вы подразумеваете под «воруют подписчиков»?

    2. пишите в почту
      помогу
      bannner (сабака) mail.ru

  2. Здравствуйте! А кто уже настраивал бота для воровства подписчиков? Можно с Вами посоветоваться? И как обходить блокировки?

  3. При запросе MadelineProto выводит кучу логов, а результат запроса теряется где-то среди этих логов. Как отключить эти логи и осавить только результат запроса.

  4. Добрый день! Предлагаю бота для парсинга информации с любой групы в свою… более детально здесь!

    1. Тоже интересно @TyttiFrytti_05

    2. Мне тоже интересно, отпишись @zymin

    3. Давай парсинг

    4. Свяжитесь со мной @maksplys100500

    5. Можно информацию пожалуйста?

    6. Здравствуйте. На каких условиях Вы надаете бота? Спасибо

      1. Вам нужен бот?

    7. Интересует парсер с других каналов телеграмма. Можете помочь?

      Александр
    8. Добрый день) мне нужно копировать с не своей группы контакты

    9. отпишись мне на kontekvm@mail.ru

      Константин
  5. отпиши @ludochudoadm

  6. а как добавить сразу много контактов в телеграм?

    1. Если вы спрашиваете про накрутку, то для этого есть сервисы

      1. Расскажи какие сервисф. И можно ли с одного чата сразу добавить во второй чат в сех людей и сколько это стоит

  7. не удается запустить парсер по этому коду вот мой код
    sandbox.onlinephpfunctions.com/code/fcc32ad223d0e357df22e9b08cf06ddca0e58b2d

    файл сессии получал в соответствии с кодом на гитхабе prnt.sc/uu2hx3
    App api_id: App api_hash: подставлял на
    май телеграм орг

    браузер жужжит и отдает чистую страницу

    файл сессии рабочий потому что метод отдает мои данные
    $me = yield $MadelineProto->getSelf();

    1. дополнил строку prnt.sc/uu8o9t и сразу заработало

      помогли из чата t.me/wrteleramgroupru — рекомендую

      1. Кажется не верно указана ссылка на канал

      2. @wrteleramgroupru не найдено.
        Спрошу тут. Можно без хостинга обойтись, поставив AppServ?

        1. Можно

      3. Помогите мне спарсить

  8. Это хрень каким-то образом сломала мой основной скрипт, в котором MadelineProto я вызываю как функцию. У меня скрипт стал срабатывать с конца. Как такое может быть?

    1. Как скрипт стал срабатывать с конца? На сколько мне известно PHP обрабатывается скрипты сверху вниз

  9. Всем добра!

    Помогу спарсить канал/чат/группу.

    1. Привет, срочно нужна помощь отпиши в тг @bloodrayn555

    2. Напишите стоимость услуги в тг @anastassia_che. Спасибо

      Анастасия
    3. Напиши пожалуйста в тг @hetter123

    4. Нужна помощь на парсинг аудитории определенного канала, не группы!!!
      Сможете помочь?

    5. Напиши, плиз, интересует

    6. Здравствуйте. мне нужно выгрузить контакты из телеграм групп в которых я не являюсь админом, чтобы сделать по ним рассылку. так же интересует вибер

  10. Срочно нужен бот, который даст юзернеймы участников чата. Кто может помочь — напишите тг @hetter123

  11. нужен парсер контактов группы телеграмм писать на почту info@amalight.ru

  12. Надо спарсить контакты из чужих групп в ТГ. пишите на c1om19eдевdять@mail.net в теме укажите парсинг для канала.

Добавить комментарий для Сергей Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *