All for Joomla All for Webmasters
Python

Tweepy: Coletor de Tweets em Python

O Twitter é amplamente utilizado para fins de pesquisa (centífica e de mercado), especialmente por possuir uma API muito versátil que permite simular basicamente qualquer ação possível do usuário, além da possibilidade de escuta na API de Streaming para coletar dados sobre termos específicos. Dentre as diversas bibliotecas disponíveis para usar a API do Twitter, a Tweepy, implementada em Python, é muito bem aceita pela maior parte dos desenvolvedores por ser eficiente e de fácil utilização. A forma mais fácil de instalar o Tweepy é através do PIP (gerenciador de pacotes Python):

Se ainda não tiver o PIP instalado, pode obtê-lo nas distros Linux pelo apt-get:

O próximo passo é registrar sua aplicação na plataforma de desenvolvimento do Twitter. Após registrar sua aplicação, será necessário copiar 4 informações da mesma: a consumer key, o consumer secret, o access token e o access token secret. O código possui as declarações para essas informações na seção de autenticação.

Tweepy - onde encontrar as chaves de autenticação na plataforma do Twitter
Onde encontrar as chaves de autenticação

 

Essa é a única alteração a ser feita no código para torná-lo operacional. Todavia, o método on_status é o método que manipula os objetos de tweets que são recebidos pelo streaming. No exemplo, apenas para fins de demonstração, o método recupera o nome do autor e o texto do tweet, bem como favorita o mesmo. Poderia também persisti-lo em um banco de dados, por exemplo, ou realizar qualquer outra ação de acordo com a necessidade do programador.

O CÓDIGO-FONTE: TWEEPY

Se preferir, pode baixar o arquivo com o código-fonte aqui.

Para executar o código acima, é necessário passar como parâmetro os termos a serem buscados pela API. Para buscar para os termos “nintendo”, “zelda” e “super mario”, por exemplo, a execução seria da seguinte forma (supondo que o código acima foi salvo no arquivo coletor.py):

Em sua forma padrão, o feedback visual no console seria o nome do autor e texto do tweet. É válido ressaltar que a API de Streaming do Twitter não promete a captura de todos os tweets relacionados aos termos da escuta, especialmente trending topics, que possuem grande volume de dados. Ainda assim, fornece quantidade estatisticamente significante para análise do assunto em questão. Em caso de dúvidas ou problemas, utilize os comentários ou entre em contato!

Você Também Pode Gostar

18 Comentários

  • Responder
    André
    1 de Abril de 2018 at 11:33

    Bom dia, Ronan! Estou iniciando nesse ramo de análise de dados e estou com dificuldade para executar o seu Script. Você poderia me explicar mais detalhadamente? Muito obrigado e parabéns pela iniciativa!

    • Responder
      Ronan Lopes
      2 de Abril de 2018 at 15:23

      Olá, André! A forma de execução está descrita no post… os únicos parâmetros necessários são os termos da consulta. Vou te enviar por email o arquivo com o código-fonte e exemplo de execução. Obrigado pelo contato!

  • Responder
    Priscila
    15 de Abril de 2018 at 23:33

    Olá Ronan Lopes, boa noite. Por favor, poderia menenviar também o arquivo com código fonte e um exemplo de execução. Estou batendo cabeça aqui. Seriei muitíssimo grata.

    • Responder
      Ronan Lopes
      15 de Abril de 2018 at 23:37

      Boa noite, Priscila! O email foi enviado… qualquer dúvida só responder o contato. Obrigado!

  • Responder
    Vinícius Seixas
    3 de Maio de 2018 at 15:47

    Olá Ronan, Por favor, quando possível poderia me enviar também o arquivo com código fonte e o exemplo de execução? Estou iniciando na área e estou com algumas dificuldades. Agradeço desde já.

    • Responder
      Ronan Lopes
      3 de Maio de 2018 at 15:51

      Boa tarde, Vinicius! O email foi enviado… qualquer dúvida só responder o contato. Obrigado!

    • Responder
      Gustavo Ferreira
      4 de Maio de 2018 at 09:43

      Ola Ronan, queria me enviasse o arquivo com código fonte e um exemplo de execução também se possível, Obrigado.

      • Responder
        Ronan Lopes
        4 de Maio de 2018 at 11:18

        Bom dia, Gustavo! Foi encaminhado no seu email. Qualquer coisa estou à disposição

  • Responder
    Ursula
    6 de junho de 2018 at 00:17

    Ei Ronan, você poderia me enviar o código fonte e um exemplo de execução também por favor? Muito obrigada!

    • Responder
      Ronan Lopes
      6 de junho de 2018 at 00:27

      Boa noite, Ursula! Encaminhei um email com detalhes. Obrigado!

  • Responder
    Andre
    20 de agosto de 2018 at 12:46

    Ronan, boa tarde!
    Estou com problemas com relação ao encode. Mesmo copiando o código acima, que está com utf-8, a saida do print continua a não mostrar corretamente a acentuação. Sabe me ajudar?

    • Responder
      Ronan Lopes
      21 de agosto de 2018 at 14:54

      Boa tarde, André! Dá uma olhada nas respostas desse tópico no stackoverflow: https://pt.stackoverflow.com/questions/67604/encoding-utf-8-permite-acentos, que tem alguns testes que você pode executar no console pra verificar o que pode estar ocorrendo. Em ambiente linux (ubuntu 18.04) o código acima é suficiente para execução correta. Qualquer coisa entre em contato. Obrigado!

  • Responder
    Marco
    5 de novembro de 2018 at 15:26

    Boa tarde Ronan!

    Poderia me enviar, por gentileza, um exemplo?

    • Responder
      Ronan Lopes
      5 de novembro de 2018 at 15:30

      Boa tarde, Marco! Encaminhei um email com um exemplo. Qualquer dúvida só retornar o contato. Obrigado!

  • Responder
    Danielle Ribeiro
    22 de novembro de 2018 at 14:41

    Olá Ronan, boa tarde
    Eu gostaria de saber se é possível me enviar, por gentileza, um exemplo. Eu não estou conseguindo captar os dados.
    Obrigada pela ajuda.

    • Responder
      Ronan Lopes
      22 de novembro de 2018 at 14:47

      Olá, Danielle. Boa tarde! Encaminhei pra você o email com o código-fonte e os detalhes da execução. Qualquer coisa estou à disposição, obrigado!

  • Responder
    Sannytet
    7 de dezembro de 2018 at 04:16

    Make a more new posts please 🙂
    ___
    Sanny

  • Responder
    Sannytet
    11 de dezembro de 2018 at 22:36

    Nice posts! 🙂
    ___
    Sanny

  • Deixe uma Resposta