Tendências de palavras-chave do telegrama
Uma ferramenta de análise para explorar o surgimento de discursos de ódio, desinformação e narrativas de interesse na plataforma de chat Telegram. Use esta ferramenta com cautela, pois ela não possui moderação ou filtragem de conteúdo. Você é responsável pelo conteúdo que pode ser exportado.
Resumindo, esta ferramenta permite pesquisar todos os canais que você segue com uma lista de palavras-chave/frases e retornar todos os resultados correspondentes em vários formatos com visualizações gráficas. Opcionalmente, ele também baixa a mídia e, portanto, pode ser usado como um mecanismo de busca de mídia (atualmente alguns bugs com esse recurso - não use como ferramenta de busca de mídia exaustiva).
Captura de tela da ferramenta em ação, explorando o discurso de ódio durante a invasão russa em grande escala da Ucrânia
Principais recursos
- Esta ferramenta foi projetada para funcionar com sockpuppets que seguem vários canais que cobrem um determinado tópico.
- Você pode alterar os detalhes da API para usar contas diferentes editando o arquivo api_values.txt .
- A ferramenta foi projetada para funcionar como o Google Trends, mostrando o volume diário de termos-chave e mapeando ao longo do tempo.
- A filtragem de data permite restringir uma pesquisa a um período de tempo mais curto. Se deixado em branco, ele será dimensionado automaticamente para o intervalo máximo dos dados.
- A ferramenta usa a pesquisa do Telegram, o que significa que é particularmente boa para pesquisas no idioma russo e geralmente lida bem com terminações de palavras.
- Gera gráficos individuais para cada termo-chave.
- Gera gráfico agregado mostrando todos os termos-chave em uma pesquisa no mesmo gráfico para comparação.
- Compila um relatório em PDF que mostra os gráficos e imprime o código completo para auditoria de dados e validação de evidências.
- Produz um resumo do arquivo TXT incluindo todas as estatísticas principais, por exemplo, data de execução, canais pesquisados e volume relativo por canal.
- Download de mídia opcional para resultados (isso prolonga enormemente (como realmente massivamente) o tempo necessário para executar a ferramenta)
- A mídia baixada tem o nome de arquivo channelid_postid, portanto é fácil encontrar o original.
Este script pesquisa mensagens contendo termos de pesquisa específicos nos canais do Telegram dos quais o usuário é membro. Exporta os resultados da pesquisa nos formatos HTML e CSV, gera um relatório e traça a contagem de mensagens por dia.
Ele foi projetado para monitorar tendências de termos de pesquisa da mesma forma que o Google Trends. Isto pode ser muito útil para identificar o surgimento de discursos de ódio ou discussões/narrativas após determinados eventos.
Esta versão atual não faz nenhum ajuste significativo nos dados, por exemplo, o gráfico não apresenta incidência de termos ajustados à incidência de todas as mensagens. Isto significa que devem ser realizadas análises mais aprofundadas para garantir que um aumento acentuado em termos não seja confundido com um aumento acentuado na actividade geral. Por esta razão, o resultado do gráfico deve ser tratado como um indicativo da necessidade de mais pesquisas e análises estatísticas.
Exemplo de resultado que explora o discurso de ódio durante a invasão russa em grande escala da Ucrânia
Esta imagem é um exemplo de resultado que mostra como os canais sob investigação tiveram um aumento no uso de termos específicos.
Exemplo do relatório gerado
Esta imagem é um exemplo de resultado do relatório, um documento PDF que descreve o código e imprime o script no final. Isso significa que não importa quais alterações ou qual versão do script esteja sendo usada, o processo exato pode ser examinado.
Captura de tela de algumas das informações geradas no relatório de estatísticas txt
Esta ferramenta foi testada em termos de pesquisa nos idiomas inglês e russo.
AVISO: Esta ferramenta usa sua lista de grupos seguidos como a lista na qual pesquisa. Pode incluir chats/grupos pessoais. Para o bem do OPSEC, é recomendado usar uma conta gravadora e seguir apenas chats específicos de investigação.
Instalação
Clone o repositório tg-keyword-trends executando o seguinte comando em seu terminal ou prompt de comando:
git clone https://github.com/thomasjjj/tg-keyword-trends.git
Navegue até o diretório tg-keyword-trends:
cd tg-keyword-trends
Instale as dependências Python necessárias usando pip:
pip install -r requirements.txt
Características
- O gráfico ajusta a escala para postagens mais antigas e mais recentes.
- CSV gerado para processamento posterior.
- Arquivo HTML gerado para abertura de links.
- Gera relatório documentando os principais detalhes do scrape (data, canais acessados, etc.) para auditabilidade das descobertas.
- Download de mídia
Uso:
- Adicione os termos de pesquisa, um por linha, em um arquivo .txt. Você será solicitado a inserir o local do arquivo em breve.
- Certifique-se de ter os detalhes da API do Telegram prontos [https://my.telegram.org/auth]
- O script pesquisará todos os canais dos quais o usuário é membro.
- Os resultados da pesquisa serão exportados como arquivos HTML e CSV em uma pasta de saída com carimbo de data/hora.
- O script irá gerar um relatório contendo os resultados da pesquisa para cada canal.
- O script traçará a contagem de mensagens por dia para cada termo de pesquisa em um gráfico e o salvará como uma imagem.
Funções:
- retrieve_api_details : Leia os detalhes da API em 'api_details.txt'.
- check_search_terms_file : leia os termos de pesquisa de 'search_terms.txt' ou solicite ao usuário que insira os termos de pesquisa.
- create_output_directory : Crie um diretório com carimbo de data/hora para armazenar arquivos de saída.
- print_colored : imprime texto na cor especificada usando o módulo colorama.
- render_url : Gere código HTML para um hiperlink usando uma URL e texto de mensagem.
- generate_report : gera um relatório contendo os resultados da pesquisa para cada canal.
- plot_keyword_frequency : plote a contagem de mensagens por dia para cada termo de pesquisa em um gráfico.
Pontas:
- Devido ao recurso de filtragem de data, esta ferramenta também funciona bem como um mecanismo de busca do Telegram que permite resultados filtrados por data. Basta executar a pesquisa na janela de data necessária e abrir o arquivo HTML de saída para obter uma lista de mensagens correspondentes e seus links.
- A ferramenta lida com fusos horários automaticamente e se ajusta a eles. Tenha especial cuidado ao editar qualquer seção do código relacionada aos formatos de hora e data, pois isso era difícil de depurar.
- Recomenda-se que você crie uma conta Telegram dedicada para cada assunto. Isso permitirá que você atinja apenas canais relevantes e remova o ruído.
- Você não precisa pesquisar substantivos no singular e no plural separadamente, pois isso é feito pela pesquisa do Telegram (em geral, para os idiomas inglês e russo).
*Esta imagem mostra o uso de vários nomes de lugares para "Bakmut", incluindo os antigos nomes soviéticos. Um uso desta ferramenta poderia ser para validar os termos de pesquisa usados na pesquisa OSINT. Como pode ser visto aqui, pode-se limitar o seu potencial de coleção se usarem apenas o nome oficial atual da cidade, em vez de nomes passados e controversos. *
Dependências:
- pandas~=2.0.0
- matplotlib~=3.7.1
- Teleton~=1.28.2
- colorama~=0.4.6
- Travesseiro~=9.5.0
- reportlab~=3.6.12
- entorpecido ~ = 1.24.2
- pytz ~ = 2023,3
- tqdm~=4.65.0
Versão Python: Python 3.11 ou superior
PENDÊNCIA