1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Способ получения данных с чатов Телеграм используя экспорт сообщений

Если вам нужно парсить такие данные как id, тип, дату сообщения, имя автора, текст сообщения, ссылку

  1. Support Ilia
    Если вам нужно парсить такие данные как id, тип, дату сообщения, имя автора, текст сообщения, ссылку на пользователя с чатов Телеграм и при этом нужна очень большая производительность, предлагаем воспользоваться способом описаным ниже. Используя данный метод вы сможете парсить десятки тысяч чатов Телеграм со скоростью около 18000 сообщений в минуту.

    Как пользоваться внутренним экспортом Telegram


    Внутренний экспорт Telegram очень прост в использовании. Достаточно выбрать нужный чат и в его свойствах выбрать пункт Экспорт истории чата. Далее происходит настройка экспорта в которой вы можете выбрать что именно вы хотите включить в экспорт, формат, путь куда сохранить экспорт и временной промежуток.

    [​IMG]

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

    Как работает внутренний экспорт

    Для примера и дальнейшего сравнения будет сделан самый простой тип экспорта, а именно только экспорт текста сообщений.

    [​IMG]



    Результат экспорта - файл result.json, в котором есть все данные чата, а именно: название чата, тип, id и все сообщения чата. Сообщения которые мы экспортировали включают в себя такие данные как id, тип, дату сообщения, имя автора, текст сообщения и другие данные которые являются частью сообщения.

    Вот небольшая часть из файла для наглядности результата который сделал внутренний экспорт Telegram:
    Код:
    {
       "id": 31905,
       "type": "message",
       "date": "2020-03-26T15:09:28",
       "from": "Reset # Alexey S.",
       "from_id": "user319030003",
       "text": "Нашел )) но не работает $totalcount, его фиксили вроде?"
      },
      {
       "id": 31906,
       "type": "message",
       "date": "2020-03-26T15:11:27",
       "from": "Yaroslav A-Parser Support",
       "from_id": "user268803471",
       "text": "Какая у вас версия парсера?"
      },
      {
       "id": 31907,
       "type": "message",
       "date": "2020-03-26T15:12:37",
       "from": "Reset # Alexey S.",
       "from_id": "user319030003",
       "reply_to_message_id": 31906,
       "text": "да старая, 595"
      },
      {
       "id": 31908,
       "type": "message",
       "date": "2020-03-26T15:12:56",
       "from": "Yaroslav A-Parser Support",
       "from_id": "user268803471",
       "text": "Нужно обновиться, там было много изменений"
      },
    Достоинства внутреннего экспорта

    • Всё очень быстро и удобно. Экспорт группы https://t.me/a_parser произошел практически за минуту
    • Есть возможность скачивать фотографии, голосовые сообщения, видеозаписи чата и т. д. Экспорт абсолютно всего из группы https://t.me/a_parser занимает около 10 минут
    • Выбор временного промежутка сообщений для экспорта
    • Выбор формата экспорта HTML / JSON
    • Сообщения в файле результата идут строго по порядку

    Недостатки внутреннего экспорта

    • Максимальный объем экспорта данных только до 2000 Мб. Если в чате тысячи пользователей которые ведут обсуждения или у вас много чатов и вы хотите все вместе экспортировать, тогда 2000 Мб может быть мало в отдельных случаях
    • Нужно вручную делать экспорт для каждого отдельного чата. А если делать экспорт всех чатов используя Продвинутые настройки, то нужно чтобы эти чаты были добавлены в ваш Telegram, и когда у вас стоит задача, например, спарсить сообщения из десяти тысяч чатов, тогда вам нужно будет сперва их добавить себе, и уже потом сделать экспорт. И не факт что вам позволить это сделать первый недостаток

    Экспорт сообщений Telegram используя A-Parser

    Для этой задачи A-Parser имеет встроенный парсер Telegram::GroupScraper - Парсер данных из публичных групп в Телеграм.

    Этот парсер собирает из публичных групп в Telegram данные о сообщениях. Парсер групп/чатов Телеграм выполняет сбор участников, которые что-то писали в группе, либо есть сервисное уведомление о их присоединении к группе. Вы можете парсить весь контент из нужных групп, а именно: текст, картинки, ссылки на видео, получать информацию о дате публикации, авторе (имя, ссылка на профиль, аватар).

    Пример парсинга сообщений в A-Parser

    Для примера спарсим сообщения той самой группы https://t.me/a_parser которая использовалась в качестве примера внутреннего экспорта.

    Пример парсинга на наших прокси:
    [​IMG]

    Пример парсинга на серверных прокси:
    [​IMG]

    В результате имеем txt файл:

    [​IMG]

    Также результат можно получить в csv таблице для последующего импорта в Google таблицу:
    [​IMG]

    Достоинства экспорта A-Parser’ом в сравнении с внутренним экспортом

    • Достаточно неплохая скорость ≈7000 сообщений в минуту и ≈18000 сообщений в минуту на серверных прокси
    • Можно сразу парсить десятки тысяч чатов Telegram имея файл с ссылками на эти чаты
    • Добавление задания в работу на ночь и на следующий день работать с результатом
    • Запланировать задание с помощью планировщика и A-Parser сам его добавит в работу по плану
    • Нет ограничения по объему экспорта сообщений
    • Можно получить результат в csv таблице, sqlite, json
    • Фильтрация результатов по любому доступному результату

    Недостатки экспорта A-Parser’ом в сравнении с внутренним экспортом

    • В несколько раз медленней экспорт. Если внутренний экспорт предоставил данные уже через минуту, то A-Parser’у на своих прокси потребовалось ≈8 минут, а на серверных прокси ≈3 минуты
    • Нужны прокси для парсинга
    • Нет возможности скачивать фотографии, голосовые сообщения, видеозаписи чата и т. д.
    • Нельзя выбрать временной промежуток для сообщений

    Полезные ссылки: