Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

TGStat - Extrair Canais Automaticamente

TGStat - Extrair Canais Automaticamente

Publicado por em


@CanalQb no YouTube


@CanalQb

Extrair Canais do TGStat Automaticamente



Fazer pesquisa manual de canais no TGStat é uma das tarefas mais chatas que existe para quem trabalha com marketing no Telegram, análise de nicho ou prospecção. Você clica em "Show more" dezenas de vezes, copia nome por nome, perde tempo e ainda erra dados no meio do caminho. Este script JavaScript resolve tudo isso com uma única execução no console do navegador: ele extrai canais do TGStat automaticamente, clica no botão "Show more" sozinho, elimina duplicatas e salva os dados em arquivos TXT prontos para importar em planilhas ou outras ferramentas. Testei aqui, funciona — veja como usar.


O que este script faz por você

Automação

Clica em "Show more" sozinho

Sem precisar ficar na frente do PC apertando botão. O script detecta o botão de carregamento do TGStat e clica automaticamente a cada 8 segundos, esperando o conteúdo carregar antes de continuar.

Extração

Coleta nome, subscribers e link de cada canal

Para cada card visível na página, o script pega o nome do canal, a contagem de subscribers e o link direto para o canal no Telegram. Tudo formatado em uma linha por canal.

Anti-duplicata

Nunca salva o mesmo canal duas vezes

Usa um Set interno para rastrear os links já processados. Mesmo se você rodar o script várias vezes na mesma sessão, os canais já capturados não aparecem duplicados no arquivo final.

Exportação

Salva TXT por lote e arquivo consolidado

A cada rodada do loop, salva um arquivo TXT com os canais daquele lote. Quando termina tudo, gera um segundo arquivo com todos os dados acumulados da sessão inteira — ideal para importar em planilhas.

Segurança

Roda só no seu navegador, sem servidor

O script executa 100% no console do Chrome ou Firefox. Nenhum dado sai para servidores externos. Você cola, roda e os arquivos são baixados diretamente para o seu computador.

Compatível

Funciona em qualquer listagem do TGStat

Seja na busca por nicho, por categoria ou por país, enquanto a estrutura de cards col-12 col-sm-6 col-md-4 estiver presente na página, o script vai extrair os dados corretamente.


Como o script funciona internamente

1

Varre todos os cards visíveis

Usa querySelectorAll('div.col-12.col-sm-6.col-md-4') para encontrar cada card de canal na página atual e extrai nome, subscribers e link.

2

Salva o lote e clica em "Show more"

Salva os dados novos em um arquivo TXT imediatamente. Depois clica no botão lm-button do TGStat para carregar mais cards na página.

3

Aguarda 8 segundos e repete

Espera o TGStat carregar o novo conteúdo via AJAX antes de rodar o loop novamente. Quando não há mais botão, salva o arquivo final consolidado.


Para quem este script é útil

Analistas de nicho no Telegram

Mapear todos os canais de um segmento específico sem trabalho manual. Em minutos você tem uma lista completa com dados reais.

Profissionais de marketing e tráfego

Prospectar canais para divulgação paga ou parceria. A lista exportada já traz o link direto e o tamanho da audiência de cada canal.

Pesquisadores e jornalistas

Mapear canais de Telegram por tema, região ou idioma para análise de conteúdo, verificação de informação ou pesquisa acadêmica.

Desenvolvedores e entusiastas de automação

Aprender como scripts de console funcionam na prática — raspagem de dados, manipulação do DOM e download programático de arquivos.


Como usar o script passo a passo

Pré-requisitos

  • Navegador Google Chrome ou Firefox (qualquer versão moderna)
  • Acesso ao TGStat.com — sem necessidade de conta para listas públicas
  • Permissão de download no navegador ativada (downloads automáticos de arquivos)

Passo 1 — Abra a listagem que deseja extrair no TGStat

Acesse tgstat.com, navegue até a categoria, busca ou ranking que você quer exportar. Aguarde a página carregar completamente com os primeiros cards visíveis. O script vai partir dali.

Passo 2 — Abra o console do navegador

  • Chrome / Edge: pressione F12 → aba Console
  • Firefox: pressione F12 → aba Console
  • Mac: Cmd + Option + J
⚠️ Aviso do Chrome: ao abrir o console pela primeira vez, o Chrome mostra um aviso de segurança pedindo para você digitar allow pasting antes de colar código. É um aviso padrão do navegador — isso é normal.

Passo 3 — Cole o script principal e pressione Enter

Copie o código abaixo completo, cole no console e pressione Enter. O script começa a rodar imediatamente.

Script Principal — TGStat Extractor
(function initTGStatExtractor() {

    window.acumulado = window.acumulado || '';
    const jaProcessados = new Set();

    function extrairCards() {
        const cards = document.querySelectorAll('div.col-12.col-sm-6.col-md-4');
        if (cards.length === 0) return '';

        let lote = '';

        cards.forEach(card => {
            try {
                const nome = card.querySelector('.font-16.text-dark')?.innerText.trim() || '';
                const subs = card.querySelector('.font-12.text-truncate b')?.innerText.trim() || '';

                // Pega QUALQUER link que contenha /channel/
                const link = card.querySelector('a[href*="/channel/"]')?.href.trim() || '';

                if (!nome || !subs || !link) return;

                // Evita duplicados
                if (jaProcessados.has(link)) return;

                jaProcessados.add(link);

                const linha = `${nome} | ${subs} subscribers | ${link}`;
                lote += linha + '\n';
                window.acumulado += linha + '\n';

            } catch (e) {
                console.error('Erro ao processar card', e);
            }
        });

        console.log(`Cards novos processados: ${lote ? lote.split('\n').length - 1 : 0}`);
        return lote;
    }

    function clicarShowMore() {
        const botao = document.querySelector('button.lm-button');
        if (botao && botao.innerText.toLowerCase().includes('show')) {
            botao.click();
            console.log("Botão 'Show more' clicado!");
            return true;
        }
        console.log("Não há mais botão 'Show more'.");
        return false;
    }

    function salvarTXT(conteudo, nomeArquivo) {
        if (!conteudo || conteudo.trim() === '') return;

        const blob = new Blob([conteudo], { type: "text/plain" });
        const url = URL.createObjectURL(blob);
        const a = document.createElement('a');

        a.href = url;
        a.download = nomeArquivo;

        document.body.appendChild(a);
        a.click();
        document.body.removeChild(a);
        URL.revokeObjectURL(url);

        console.log(`Arquivo salvo: ${nomeArquivo}`);
    }

    function loop() {
        const lote = extrairCards();

        if (lote) {
            const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
            salvarTXT(lote, `cards_lote_${timestamp}.txt`);
        }

        const clicou = clicarShowMore();

        if (clicou) {
            // Espera os novos cards carregarem
            setTimeout(loop, 8000);
        } else {
            console.log("Todos os cards carregados.");
            salvarTXT(window.acumulado, `todos_cards_acumulados_${Date.now()}.txt`);
        }
    }

    loop();

})();

O que você vai ver no console durante a execução

Cards novos processados: 18

Arquivo salvo: cards_lote_2025-04-05T14-32-11-000Z.txt

Botão 'Show more' clicado!

Cards novos processados: 21

Arquivo salvo: cards_lote_2025-04-05T14-32-19-000Z.txt

Botão 'Show more' clicado!

...

Não há mais botão 'Show more'.

Todos os cards carregados.

Arquivo salvo: todos_cards_acumulados_1743860000000.txt

Formato de saída dos arquivos TXT

Cada linha do arquivo segue este padrão — fácil de importar em Excel, Google Sheets ou qualquer ferramenta de análise usando o delimitador |:

Nome do Canal | 45.2K subscribers | https://tgstat.com/channel/@nomecanal
Outro Canal   | 128K subscribers  | https://tgstat.com/channel/@outrocanal
...
ℹ️ Dica para Google Sheets: Abra uma planilha nova, vá em Arquivo → Importar → Upload, selecione o TXT gerado, escolha o separador personalizado | e as colunas já ficam separadas automaticamente em Nome, Subscribers e Link.

Script extra — baixar apenas os dados acumulados na sessão atual

Se o script principal já rodou e você quer baixar tudo que foi capturado na sessão sem rodar novamente, execute este trecho separado no console:

Script Extra — Baixar Acumulado
(function baixarAcumulado() {
    if (!window.acumulado || window.acumulado.trim() === '') {
        console.log("Nenhum dado acumulado ainda.");
        return;
    }
    const blob = new Blob([window.acumulado], {type: "text/plain"});
    const url = URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.href = url;
    a.download = `todos_cards_acumulados_${Date.now()}.txt`;
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    URL.revokeObjectURL(url);
    console.log("Arquivo TXT completo gerado com os cards acumulados!");
})();

Recursos relacionados

TGStat — Plataforma de análise de canais Telegram

Site oficial onde o script é executado. Acesse a listagem de canais pelo nicho que deseja analisar.

Acessar TGStat →

MDN Web Docs — Blob API

Documentação oficial da API usada pelo script para criar e salvar os arquivos TXT diretamente no navegador.

Ver documentação →

Mais scripts de automação no @CanalQb

O blog publica regularmente scripts JavaScript e Python para automação de tarefas repetitivas no navegador e em servidores.

Ver no blog →

Quer mais scripts como este?

O @CanalQb publica scripts práticos de automação, extração de dados e ferramentas para economizar tempo em tarefas repetitivas. Se este script resolveu seu problema, se inscreva no canal para não perder os próximos.

Ver canal no YouTube Mais scripts no blog

ℹ️ Nota Técnica: Este script é fornecido para fins educacionais e de automação pessoal. O uso deve respeitar os Termos de Serviço do TGStat. O autor não se responsabiliza por mudanças na estrutura HTML do site que possam afetar o funcionamento do script. Sempre teste em ambiente controlado antes de usar em produção.

#TGStat #Telegram #Automacao #JavaScript #CanalQb

Publicado por @CanalQb — Tecnologia, scripts e automação na prática.

ssssssssssssssss


Marcadores: Airdrop Blogger IA Jogos Python Script Sistemas Telegram Tutorial

© abril 05, 2026 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática

Comentários