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

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

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

3 Comments

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

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

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

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

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