Telegram::GroupScraper - Telegram halka açık kanal ve grup veri kazıyıcı

Veri Kazıyıcı Genel Bakış
Veri kazıyıcı, Telegram'daki halka açık kanallardan ve gruplardan tüm gönderileri ve mesajları toplar.
Çalışma mantığı diğer veri kazıyıcılardan farklıdır: kanaldaki veya gruptaki mesajları otomatik olarak tarar. Bu nedenle, tek bir görevde diğer veri kazayıcılarla birlikte kullanılamaz.
Sonuçlardaki satır sırası, gönderi numarasına göre garanti edilmez (iş parçacıklarına bağlıdır). Sohbet/kanal meta verileri kanal başına bir kez yüklenir ve her gönderi satırında tekrarlanır.
Sonuçların ihtiyacınız olan biçimde ve yapıda kaydedilmesi, sonuçlara ek mantık uygulamanıza ve verileri JSON, SQL ve CSV dahil olmak üzere çeşitli formatlarda çıktı almanıza olanak tanıyan yerleşik güçlü şablon motoru Template Toolkit sayesinde mümkündür.
Veri Kazıyıcı Kullanım Örnekleri
🔗 Kullanıcı Veri Çekme
Telegram'daki halka açık gruplardan kullanıcı veri çekme
🔗 Tüm Mesajların Veri Çekme İşlemi
Telegram'daki halka açık gruplardan tüm mesajların veri çekme işlemi
Toplanan Veriler
Genel kanallar ve gruplarla çalışır.
Mesaj
- Gönderi bağlantısı (
url) - Gönderi ID'si (
post_id) @işareti olmadan kanal/grup kullanıcı adı (channel)- HTML içeren gönderi metni (
message_text) - HTML içermeyen aynı metin (
message_text_plain) — filtreleme, arama ve çıktı için - ISO formatında tarih (
message_date) - Görüntülenme sayısı (
views) — Telegram'daki gibi:15.5K,1.2Mvb.; sadece kanallar için, gruplarda boştur - Video bildirimi (
message_video_notice) — gönderide video varsa ancakmessage_videosdizisinde URL yoksa ve bu alan doluysa: video yalnızca Telegram'da kendi hesabınızla izlenebilir (oturum açma gerektirir), dosyanın doğrudan bağlantısı yoktur. Bu bir veri çekme hatası değildir — Telegram bu tür videoları oturum açmadan vermez
Gönderi yazarı
- Profil bağlantısı (
user_link) - İsim (
user_name) - Avatar URL'si (
user_avatar)
Yönlendirme
- Nereden yönlendirildi (
forward_from) - Kaynak bağlantısı (
forward_from_url) — mevcutsa orijinalin URL'si - Bağlantı olmadığında açıklama (
forward_from_notice) —forward_from_urlboşsa doldurulur (örneğin, "Source link not available in embed"): doğrudan bağlantı yoktur, orijinal silinmiş, gizlenmiş veya başka bir nedenle erişilemiyor olabilir. Veri kazıyıcı hatası değildir
Yanıt (reply)
- Yanıtlanan mesajın URL'si (
reply_to_url) - URL'den gönderi ID'si (
reply_to_post_id) - Orijinal mesajın yazarı (
reply_to_author) - Orijinal mesajın metni, düz metin (
reply_to_text)
Reaksiyonlar
- Tüm reaksiyonların toplamı (
reactions_total) — dize olarak sayı;K/M/Bbirimleri dönüştürülür
Sohbet/kanal meta verileri
Kanal başına bir kez yüklenir, gönderinin her satırında yinelenir.
- Başlık (
chat_title) - Abone/üye sayısı (
chat_members) - Çevrimiçi (
chat_online) — sadece gruplar için; kanal için veri çekme başladığı andaki çevrimiçi kullanıcı sayısı, veri çekme sırasında güncellenmez. Kanallarda boştur - Açıklama, düz metin (
chat_description) - Medya ve bağlantı sayaçları (
chat_photos,chat_videos,chat_files,chat_links) — sadece kanallar için
Diziler
reactions — emoji, count alanları (Telegram'daki gibi: 16, 1.2K). Kimin reaksiyon bıraktığı toplanmaz: sadece emoji türü ve toplam sayı mevcuttur
message_photos — url alanı; albüm — birden fazla satır.
message_videos — url alanı. URL yoksa ancak gönderide video varsa — message_video_notice alanına bakın (yalnızca Telegram'a giriş yaptıktan sonra görüntülenebilir)
links — url alanı; gönderi metnindeki harici bağlantılar. Yol (path) içermeyen t.me/username şeklindeki bağlantılar buraya dahil edilmez (bunlar mention'dır).
mentions — username alanı (@username); t.me/username bağlantılarından ve <a> içindeki @username metninden.
Özellikler
- Esnek sorgu normalizasyonu (bkz. Sorgular)
- Tarihe göre filtreleme (
dateFrom,dateTo) ve yönlendirilen mesajları atlama (skipForwards) - Fotoğraf ve video albümleri — bir gönderide birden fazla URL
Kullanım Durumları
- Kanal veya grup gönderi içeriklerinin toplanması
- Reaksiyonların, görüntülenmelerin ve yönlendirmelerin izlenmesi
Sorgular
Genel kanallar ve gruplar desteklenir. Tüm formatlar https://t.me/{username} şekline getirilir:
| Sorgu | Davranış |
|---|---|
@username | kanal veya grup, Start message number ile başlar |
username | aynısı |
https://t.me/username | aynısı |
t.me/username | aynısı |
https://t.me/s/username | aynısı |
https://t.me/username/123 | kanal veya grup, #123 numaralı gönderiden başlar (Start message number yoksayılır) |
Geçersiz sorgu → günlüğe Unknown query satırı yazılır, sonuç boş döner.
Örnekler:
https://t.me/a_parser
@a_parser
https://t.me/a_parser/100
Sonuç Çıktı Seçenekleri
A-Parser, yerleşik Template Toolkit şablon motoru sayesinde sonuçların esnek bir şekilde formatlanmasını destekler; bu da sonuçları rastgele bir formda veya CSV veya JSON gibi yapılandırılmış bir biçimde çıktı almasına olanak tanır.
Varsayılan çıktı
Sonuç formatı:
$channel/$post_id: $message_text_plain ($views views, $reactions_total reactions)
Sonuç örneği:
a_parser/1234: bunlar filtrelerdir) ( views, 0 reactions)
a_parser/85962: Google koruma konusunda yeni bir şeyler çıkardı) ( views, 2 reactions)
CSV tablosuna çıktı
Sonuç formatı:
[% tools.CSVline(channel, post_id, message_text_plain, views, reactions_total) %]
Sonuç örneği:
a_parser,1234,"bunlar filtrelerdir)",,0
a_parser,85962,"Google koruma konusunda yeni bir şeyler çıkardı)",,2
Filtreleme ve gönderi atlama
Aşağıdaki durumlarda satır sonuca dahil edilmez:
- Tarih Date from / Date to aralığı dışındaysa
- Skip forwards etkinse ve gönderi yönlendirilmişse
Tarih veya yönlendirme filtresi uygulandığında gönderi bulunmuş sayılır, kanal taraması devam eder.
Kanal taraması şu durumlarda durur:
- bulunan son gönderiden sonra üst üste Max empty posts kadar ID yeni bulgu olmadan kontrol edildiğinde;
- veya başlangıçtan itibaren bir dizi boş gönderi olduğunda (henüz hiç gönderi bulunamadıysa).
Sonuçların İşlenmesi
A-Parser, sonuçları doğrudan veri çekme sırasında işlemenize olanak tanır; bu bölümde Telegram veri kazıyıcı için en popüler durumları sunduk.
Mesajdaki kelime varlığına göre sonuçları filtreleme

Bir filtre eklemeniz ve açılır listeden $message_text - Message text seçmeniz gerekir. Tür olarak RegEx match seçin.
Regex alanına gerekli kelimeleri içeren regex'i yazın:
\bveri kazıyıcı\b|\bGoogle\b|\byandex\b|\bveri kazıyıcı\b|\bProxy\b|\bDorklar\b
\b - kelime sınırı
| - VEYA
is - regex bayrağı
Örneği indir
A-Parser örnek nasıl içe aktarılır
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=
Ayrıca bakınız:
Olası Ayarlar
| Parametre | Varsayılan değer | Açıklama |
|---|---|---|
| Max empty posts | 1000 | Son bulunan gönderiden sonra art arda kaç tane boş ID deneneceği ve ardından kanal taramasının durdurulacağı. Kaydedilen gönderi sınırı değildir |
| Start message number | 1 | Taramaya başlanacak gönderi numarası (eğer sorguda /123 yoksa) |
| Skip forwards | ☐ | Yönlendirilen mesajları kaydetme |
| Date from | Başlangıç tarihi, dahil. Format YYYY-MM-DD | |
| Date to | Bitiş tarihi, dahil değil. Format YYYY-MM-DD |