Telegram::GroupScraper - Парсер данных из публичных групп в Телеграм
Обзор парсера
Этот парсер собирает из публичных групп в Telegram данные о сообщениях. Парсер групп/чатов Телеграм выполняет сбор участников, которые что-то писали в группе, либо есть сервисное уведомление о их присоединении к группе. Вы можете парсить весь контент из нужных групп, а именно: текст, картинки, ссылки на видео, получать информацию о дате публикации, авторе (имя, ссылка на профиль, аватар).
Его логика работы отличается от остальных парсеров, т.к. он автоматически добавляет запросы для перебора всех сообщений в группе. Из-за этого данный парсер нельзя использовать вместе с любыми другими в одном задании.
Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit который позволяет применять дополнительную логику к результатам и выводить данные в различных форматах, включая JSON, SQL и CSV.
Кейсы по применению парсера
🔗 Парсинг пользователей
Парсинг пользователей публичных групп в Telegram
🔗 Парсинг всех сообщений
Парсинг всех сообщений из публичных групп в Telegram
Собираемые данные
- Ссылка на сообщение
- Имя автора, ссылка на его профиль и аватар
- Содержимое сообщения, в зависимости от типа это может быть:
- текст
- ссылка на фото
- ссылка на видео
- Дата публикации сообщения
Варианты использования
- Сбор списка участников группы
- Сбор содержимого всех сообщений в группе
Запросы
В качестве запросов необходимо указывать ссылку на публичную группу, например:
https://t.me/a_parser
Варианты вывода результатов
A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON
Вывод по умолчанию
Формат результата:
$user_name($user_link): $message_text\n
Пример результата:
(https://t.me/aparser): Чтобы обходить ограничение на 10 запросов с одного IP нужно дополнительно парсить key= с основной страницы
(https://t.me/aparser): Сейчас посмотрю
(https://t.me/aparser): <a href="http://a-parser.com/threads/1795/" target="_blank" rel="noopener">http://a-parser.com/threads/1795/</a>
Вывод в таблицу CSV
Формат результата:
[% tools.CSVline(query, user_link, message_date, message_text) %]
Пример результата:
https://t.me/a_parser,https://t.me/Forby403,2016-11-05T05:01:09+00:00,"Настройки - Сохранять размер окна"
https://t.me/a_parser,https://t.me/Forby403,2016-11-05T05:14:47+00:00,"я запускаю 20 заданий по 300 потоков, с динамическим лимитов в 1200, они выполняются гораздо быстрее за счет того работают все одновременно и нет затыков когда осталось мало запросов(потоков)"
https://t.me/a_parser,https://t.me/Forby403,2016-11-05T05:27:06+00:00,"ну прокси в т.ч."
Обработка результатов
A-Parser позволяет обрабатывать результаты непосредственно во время парсинга, в этом разделе мы привели наиболее популярные кейсы для парсера Telegram
Фильтрация результатов по вхождению слов в сообщение
Необходимо добавить фильтр и выбрать в выпадающем списке $message_text - Message text
. Выбрать тип Регулярка совпадает
.
В поле для регулярки вписать регулярку с необходимыми словами:
\bпарсер\b|\bGoogle\b|\byandex\b|\bпарсер\b|\bПрокси\b|\bДорки\b
\b
- граница слова
|
- ИЛИ
is
- флаг регулякри
Скачать пример
Как импортировать пример в А-Парсер
eJyVVN1v2jAQ/18sHjaJ8qFSacobRaLaxEpX6BOg6oovqVfH9myHgTL+952dkMC6
PewhVu53v/v2uWQe3Jt7sOjQO5asSmbiP0uYR4mZhfyK6+0V7iE3ElmXGbAObeCu
2LKmJMmd1YVZbC0YtETimEIhPeuWzB8MkrdUSB9V5D5oEpajc5Dhs8c9EWvCsmJb
zMFvXwnegSwCsl6/rIvB6DqN5yCco+ocRuSmRtYvv+i70zqTWAsHUBz3tfAfToIw
TFvSNcYTzgw+nVNHLak2gIZElWjjhVZUinDsuNmcOuGm2lKxhHfMsFd3v1EuYIdL
XfUPW3hK0j3koTEdDh6DtpdGRx8+9nxsKHAuQkSQVYQwsjbqkxI/YmOVJi79WoFu
anUeJx8dBPBwym7FOlFm5KKItt8qG5akIB12maNUp0CJ8D81ggYLXtt57ADhJdNq
LOUMdyhbWvR/WwjJ6X6NUzL6XBv+nTJ/5+PYlHceaof2p6UcGi9Rup1/ba24numM
KudhUFLkwpPsJrpQYTADAt8QTdOz+9CzXFtswnhbYBOc1smg4kRsJzY2LXRRxcVU
LsGtVqnI5pS/FRxPzEItaWfnaqLDRoayVCElTcXhY3s7xq6eQhCayt8ZT2KIUPlp
Y5nXWroviypVYwXdvpuQYE6NPI9au9yClE+Ps3MNa28UCa/eG5f0+76XYx+eq/eD
BUOPmaYbRWUdN83D0rxF5b+el6Q80si+u4fKIBQY6IRRp1zcseHxN9yRrow=
Смотреть также:
Возможные настройки
Параметр | Значение по умолчанию | Описание |
---|---|---|
Max empty posts | 1000 | Этот параметр указывает сколько подряд должно быть пустых (несуществующих) сообщений, чтобы парсинг по текущему запросу остановился |
Start message number | 1 | Этот параметр указывает с какого номера собирать сообщения в телеграм чате |