Przejdź do treści głównej

Telegram::GroupScraper - Scraper danych z publicznych grup w Telegram

Telegram

Przegląd scrapera

Ten scraper zbiera dane o wiadomościach z publicznych grup w Telegramie. Scraper grup/czatów Telegram wykonuje zbieranie uczestników, którzy coś napisali w grupie, lub dla których istnieje powiadomienie systemowe o dołączeniu do grupy. Możesz scrapować całą zawartość z wybranych grup, a mianowicie: tekst, obrazy, linki do wideo, uzyskiwać informacje o dacie publikacji, autorze (imię, link do profilu, awatar).

Jego logika działania różni się od pozostałych scraperów, ponieważ automatycznie dodaje zapytania w celu iteracji po wszystkich wiadomościach w grupie. Z tego powodu ten scraper nie może być używany razem z żadnymi innymi w jednym zadaniu.

Zapisywanie wyników jest możliwe w dowolnej formie i strukturze, której potrzebujesz, dzięki wbudowanemu potężnemu silnikowi szablonów Template Toolkit, który pozwala na stosowanie dodatkowej logiki do wyników i wyprowadzanie danych w różnych formatach, w tym JSON, SQL i CSV.

Przypadki użycia scrapera

Zbierane dane

Poniżej wymieniono dane, które można zbierać oddzielnie dla publicznych kanałów Telegram i grup Telegram.

Co można zbierać dla kanałów Telegram

Tylko dla otwartych (publicznych) kanałów Telegram dostępne są następujące dane:

  • Link do wiadomości
  • Tekst wiadomości
  • Zdjęcie w wiadomości
  • Wideo w wiadomości
  • Data wiadomości

Co można zbierać dla grup Telegram

Tylko dla otwartych (publicznych) grup Telegram dostępne są następujące dane:

  • Link do wiadomości
  • Imię autora wiadomości
  • Link do profilu autora
  • Awatar autora
  • Tekst wiadomości
  • Zdjęcie w wiadomości
  • Wideo w wiadomości
  • Data wiadomości
  • Uczestnicy, którzy pisali w grupie
  • Uczestnicy z powiadomień systemowych o dołączeniu do grupy

Warianty użycia

  • Zbieranie listy uczestników grupy
  • Zbieranie zawartości wszystkich wiadomości w grupie

Zapytania

Jako zapytania należy podawać link do publicznego (otwartego) kanału lub grupy, na przykład:

https://t.me/a_parser

Warianty wyprowadzania wyników

A-Parser obsługuje elastyczne formatowanie wyników dzięki wbudowanemu silnikowi szablonów Template Toolkit, co pozwala mu na wyprowadzanie wyników w dowolnej formie, a także w formie strukturalnej, na przykład CSV lub JSON

Wynik domyślny

Format wyniku:

$user_name($user_link): $message_text\n

Przykład wyniku:

(https://t.me/aparser): Aby obchodzić ograniczenie na 10 zapytań z jednego IP trzeba dodatkowo scrapować key= ze strony głównej
(https://t.me/aparser): Zaraz sprawdzę
(https://t.me/aparser): <a href="http://a-parser.com/threads/1795/" target="_blank" rel="noopener">http://a-parser.com/threads/1795/</a>

Wynik w tabeli CSV

Format wyniku:

[% tools.CSVline(query, user_link, message_date, message_text) %]

Przykład wyniku:

https://t.me/a_parser,https://t.me/Forby403,2016-11-05T05:01:09+00:00,"Ustawienia - Zachowaj rozmiar okna"
https://t.me/a_parser,https://t.me/Forby403,2016-11-05T05:14:47+00:00,"uruchamiam 20 zadań po 300 wątków, z dynamicznym limitem 1200, wykonują się znacznie szybciej dzięki temu, że wszystkie pracują jednocześnie i nie ma przestojów, gdy zostało mało zapytań (wątków)"
https://t.me/a_parser,https://t.me/Forby403,2016-11-05T05:27:06+00:00,"no i proxy w tym też."

Przetwarzanie wyników

A-Parser pozwala przetwarzać wyniki bezpośrednio podczas scrapowania, w tej sekcji przedstawiliśmy najpopularniejsze przypadki dla scrapera Telegram

Filtrowanie wyników według występowania słów w wiadomości

Przykład

Należy dodać filtr i wybrać z listy rozwijanej $message_text - Message text. Wybrać typ RegEx match. W polu dla regexa wpisać wyrażenie regularne z potrzebnymi słowami:

\bscraper\b|\bGoogle\b|\byandex\b|\bscraper\b|\bProxy\b|\bDorki\b

\b - granica słowa

| - LUB

is - flaga regexa

Pobierz przykład

Jak zaimportować przykład do A-Parser

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=

Możliwe ustawienia

ParametrWartość domyślnaOpis
Max empty posts1000Ten parametr określa, ile z rzędu musi wystąpić pustych (nieistniejących) wiadomości, aby scrapowanie dla bieżącego zapytania zostało zatrzymane
Start message number1Ten parametr określa, od którego numeru zbierać wiadomości w czacie Telegram