Você quer monitorar a frequência com que uma hashtag é usada no Mastodon ao longo de dias ou semanas. O Mastodon não oferece um gráfico de tendências integrado para hashtags na interface web. A API do Mastodon fornece os dados brutos necessários para construir seu próprio sistema de rastreamento. Este artigo explica como usar a API para coletar contagens de uso de hashtags e armazená-las para análise de tendências.
Principais Conclusões: Rastreie Tendências de Hashtags no Mastodon Usando a API
- GET /api/v1/timelines/tag/:hashtag: Recupera postagens públicas para uma hashtag específica, que você pode contar para medir o uso.
- Cabeçalhos de limite de taxa (X-RateLimit-Remaining): Essenciais para evitar atingir o limite de 300 requisições a cada 5 minutos na maioria das instâncias.
- Script de captura diária: Um script agendado que busca o endpoint de hashtags em tendência e registra as contagens em um banco de dados local para análise histórica.
Entendendo a API do Mastodon para Rastreamento de Hashtags
O Mastodon expõe uma API RESTful que retorna dados JSON. Para rastreamento de hashtags, dois endpoints são relevantes. O endpoint /api/v1/trends/tags retorna uma lista de hashtags em tendência no momento com um array history que contém contagens de uso diário dos últimos 7 dias. Cada entrada do histórico inclui day (timestamp Unix), uses (número de postagens) e accounts (número de contas únicas).
O endpoint /api/v1/timelines/tag/:hashtag retorna postagens individuais para uma hashtag específica. Você pode paginar por elas para contar o total de postagens por dia. No entanto, o endpoint de tendências é mais eficiente para rastreamento de tendências, pois fornece contagens diárias pré-agregadas.
Para rastrear tendências por um período maior que 7 dias, você deve coletar capturas do endpoint de tendências em intervalos regulares, como uma vez por dia. Armazene os dados históricos retornados em um banco de dados ou arquivo CSV. Com o tempo, você acumulará um conjunto de dados que mostra como o uso da hashtag muda.
Pré-requisitos para Usar a API
Você precisa de uma conta no Mastodon em qualquer instância. Gere um token de acesso em Preferências > Desenvolvimento > Nova Aplicação. Defina o escopo como read:search e read:statuses para acesso à linha do tempo da hashtag. Para o endpoint de tendências, o escopo read:trends é necessário. Nenhum escopo de escrita é necessário, pois você está apenas lendo dados públicos.
Você também precisa de um ambiente de programação. Este guia usa Python 3 com a biblioteca requests. Instale-a com pip install requests. Você também precisará de uma forma de armazenar dados, como SQLite ou um arquivo de texto simples.
Passos para Coletar Dados de Tendências de Hashtags Usando a API
O método a seguir usa o endpoint /api/v1/trends/tags para obter contagens de uso diário de hashtags em tendência. Você escreverá um script Python que busca os dados, extrai o histórico da sua hashtag alvo e anexa a um arquivo CSV.
- Crie um novo arquivo de script Python
Abra um editor de texto e crie um arquivo chamadotrack_hashtag.py. Este script conterá toda a lógica para buscar e armazenar dados de tendências. - Defina a URL da sua instância e o token de acesso
No topo do script, defina variáveis para sua instância do Mastodon e o token de acesso que você gerou. Exemplo:instance = 'https://mastodon.social'etoken = 'seu_token_aqui'. Nunca compartilhe ou envie este token para um repositório público. - Defina o endpoint da API para tags em tendência
Monte a URL completa:url = f'{instance}/api/v1/trends/tags'. Adicione o cabeçalho de autorização:headers = {'Authorization': f'Bearer {token}'}. - Envie uma requisição GET para o endpoint
Use o métodorequests.get:response = requests.get(url, headers=headers). Verifique seresponse.status_code == 200antes de processar os dados. - Analise a resposta JSON
A resposta é uma lista de objetos de tag. Cada objeto tem um camponamee um campohistory. Percorra a lista para encontrar sua hashtag alvo. Exemplo:for tag in response.json(): if tag['name'] == 'mastodon': data = tag. - Extraia o histórico diário da hashtag alvo
O arrayhistorycontém objetos comday,useseaccounts. Converta o timestamp Unixdaypara uma data legível usandodatetime.datetime.fromtimestamp(int(day)). Armazene a contagem deusesde cada dia. - Anexe os dados a um arquivo CSV
Abra um arquivo CSV no modo de anexação. Escreva uma linha de cabeçalho se o arquivo não existir. Cada linha deve conter a data, o nome da hashtag e a contagem de usos. Exemplo:2025-03-20,mastodon,142. Feche o arquivo após escrever. - Agende o script para executar diariamente
Use o agendador de tarefas do seu sistema operacional. No Windows, use o Agendador de Tarefas. No Linux ou macOS, use o cron. Configure o script para executar uma vez por dia no mesmo horário para capturar capturas diárias consistentes.
Depois de executar o script por vários dias, abra o arquivo CSV com um software de planilha. Você pode criar um gráfico com a coluna de data contra a coluna de usos para visualizar a linha de tendência.
Problemas Comuns ao Rastrear Tendências de Hashtags com a API
Hashtag Não Aparece no Endpoint de Tendências
O endpoint /api/v1/trends/tags retorna apenas hashtags que estão em tendência no momento na instância. Se sua hashtag tem baixo uso, ela pode não aparecer. Mude para o endpoint da linha do tempo /api/v1/timelines/tag/:hashtag e conte as postagens você mesmo. Pagine por todas as páginas usando o cabeçalho Link até chegar ao final. Some o número total de postagens retornadas. Este método é mais lento, mas funciona para qualquer hashtag.
Limites de Taxa Bloqueando Requisições Frequentes
As instâncias do Mastodon impõem limites de taxa, tipicamente 300 requisições a cada 5 minutos por IP ou token. Se você fizer muitas requisições, a API retorna HTTP 429. Verifique os cabeçalhos de resposta X-RateLimit-Remaining e X-RateLimit-Reset. Aguarde o tempo de redefinição antes de fazer outra requisição. No seu script, adicione um atraso time.sleep entre as requisições se você estiver paginando por muitas páginas.
Dados do Histórico Cobrem Apenas 7 Dias
O endpoint de tendências fornece histórico dos últimos 7 dias. Para rastrear períodos mais longos, você deve coletar dados diariamente e mesclá-los. Mantenha seu arquivo CSV e anexe novas linhas a cada dia. Ao analisar, remova entradas de data duplicadas para a mesma hashtag mantendo apenas a captura mais recente para cada dia.
| Item | Endpoint de Tendências | Endpoint da Linha do Tempo |
|---|---|---|
| Caminho do endpoint | /api/v1/trends/tags | /api/v1/timelines/tag/:hashtag |
| Dados fornecidos | Contagens diárias pré-agregadas apenas para hashtags em tendência | Postagens individuais para qualquer hashtag, requer contagem manual |
| Duração do histórico | 7 dias | Depende da paginação, até 40 postagens por página |
| Impacto no limite de taxa | 1 requisição por verificação | Múltiplas requisições para paginar por todas as postagens |
| Melhor caso de uso | Rastrear hashtags populares com alto uso | Rastrear hashtags de baixo uso ou nicho |
Agora você pode coletar dados de uso de hashtags do Mastodon usando a API e armazená-los para análise de tendências. Comece com o endpoint de tendências para hashtags populares e obtenha contagens diárias pré-agregadas. Para hashtags de nicho, use o endpoint da linha do tempo e pagine pelos resultados. Para visualizar tendências, importe seu CSV para uma ferramenta de gráficos ou planilha. Como passo avançado, configure o script para executar várias vezes ao dia e calcule a média das contagens para suavizar flutuações horárias.