Главное меню

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

0 Comment

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

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


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

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

*