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

Когда-то на Хабре была опубликована статья как спарсить Телеграм канал при помощи 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 есть отличная документация, из которой можно подчерпнуть не мало информации для оптимизации кода и используемых методах и функциях.

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

15 Comments

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

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

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

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

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

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

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

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

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

  5. отпиши @ludochudoadm

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

    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. Кажется не верно указана ссылка на канал

Добавить комментарий

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