Tutorial do twitter4j

Tutorial do twitter4j
Nesta lição, usaremos o Twitter4J para extrair dados do Twitter. Twitter lida com big data todos os dias, mas o que é realmente? Teremos uma visão geral muito curta do Big Data antes de mergulharmos em dados de mineração do Twitter.

Por que meu Twitter?

Twitter é um lugar perfeito para extrair dados de. Aqui estão algumas razões pelas quais isso é verdade:

  • Todos os tweets no Twitter são públicos
  • Os novos dados continuam chegando em tempo real, isso significa que você nunca fica sem novos dados para testar
  • O Twitter tem uma API interessante para os desenvolvedores extrairem dados, eles também são amigáveis
  • As APIs fornecidas pelo Twitter fornecem maneiras fáceis de puxar tweets relacionados a um usuário específico ou a uma palavra/hashtag específica ou tweets em um determinado local

Começando

Agora que justificamos por que estamos usando esta plataforma, vamos começar a coletar nossas ferramentas. Usaremos o Java 8 para esta lição, mas sinta -se à vontade para usar as versões acima (embora alguns ajustes, não tweets, possam ser necessários para usá -los).

Usaremos uma biblioteca Java chamada Twitter4J para conectar -se à API do Twitter.

Obtendo a chave da API do Twitter

Obter a chave da API do Twitter é necessária para acessar seus dados, pois é assim que o Twitter acompanha os dados e a solicitação contagem que nosso aplicativo faz no Twitter.

Vamos criar um aplicativo no Twitter e obter as chaves corretas para avançar.

  • Crie um aplicativo aqui

Na forma acima, crie um aplicativo com um nome exclusivo, um nome de site (use um site de espaço reservado se não tiver um) e uma descrição do projeto. Aceite os termos e condições (se o fizer) e prossiga para a próxima página.

Depois que o projeto for criado, você deve ver uma página com o seguinte cabeçalho:

  • Nas informações abaixo, clique em 'Teclas e acesse os tokens' para obter as seguintes informações:
  • Role para baixo e clique em "Gere Tokens de acesso" para obter informações abaixo:

Vamos precisar desses valores mais tarde, para que seja melhor manter esta guia aberta.

Introdução ao Twitter4J

Twitter4j é um não oficial Biblioteca Java para a API do Twitter. Com o Twitter4J, podemos facilmente integrar nosso aplicativo Java ao Serviço do Twitter.

Dependência do Maven

Para começar, adicionaremos a dependência Maven apropriada ao nosso projeto Java.


org.Twitter4j
Twitter4j-core
4.0.6

Encontre a mais recente versão de dependência do Maven aqui.

Autenticação

Adicionamos a dependência necessária do maven agora. É hora de começarmos a conversar com a API e o Twitter.

Para iniciar a conversa, precisamos autenticar nossas chamadas para o Twitter para que ele saiba que apenas um usuário conhecido está acessando os dados. Para isso, vamos configurar nossas chaves que obtivemos anteriormente.

String final estática Consumer_Key = "You-Key";
String final estática Consumer_Secret = "Secret";
estático final string access_token = "token";
String final estática Access_Token_Secret = "Token-Secret";
public static twitter gettwitterInstance ()
ConfigurationBuilder CB = new ConfigurationBuilder ();
cb.SetDebugenabled (True) Bashbash
.SetoauthConsumerKey (consumer_key)
.SetoauthConsumerSecret (Consumer_Secret)
.SetoauthaccessToken (access_token)
.SETOAuthAccessTokensecret (Access_Token_Secret);
Twitter Factory TF = novo TwitterFactory (CB.construir());
retornar tf.getInstance ();

Exemplo: mostrando a linha do tempo

Neste exemplo, mostraremos alguns tweets mais recentes da linha do tempo do usuário autenticada. Faremos isso usando a instância de status do objeto do Twitter como:

private static void ShowHometimeline (Twitter Twitter)
Lista statuses = nulo;
tentar
Statuses = Twitter.Getometimeline ();
Sistema.fora.println ("mostrando a linha do tempo doméstica.");
para (Status Status: Statuses)
Sistema.fora.println (status.getUser ().getName () + ":" + status.getText ());
String url = "https: // twitter.com/" + status.getUser ().getScreenname () + "/status/"
+ status.getId ();
Sistema.fora.println ("URL do tweet acima:" + url);

catch (TwitterException e)
e.printStackTrace ();

O resultado deve parecer um monte de tweets aleatórios:

Após o link para o tweet, muitas vezes o levará ao próprio tweet. Após o link do primeiro tweet, nos daria o seguinte resultado:

Além do nome de usuário e do texto do tweet, a API do Twitter tem muitas informações a serem fornecidas, que podem ser inferidas a partir dos seguintes métodos disponíveis:

status.getSource ();
status.getCreatedat ();
status.getFavoritEcount ();
status.getGeolocation ();
status.getLang ();
status.getplace ();
status.getretweetCount ();
status.getUser ().getBiggerProfileImageurl ();
status.getUser ().getEmail ();
status.getUser ().getFollowersCount ();
status.getUser ().getfriendsCount ();

Isso fornece muitas informações relacionadas ao tweet e ao usuário que postou o tweet. Isso inclui nem todos os métodos, sinta -se à vontade para explorar todos os métodos disponíveis.

Observe que esses atributos podem ser extremamente úteis se o seu aplicativo depende de mais dados.

Exemplo: Publique um tweet

Neste exemplo, simplesmente publicaremos um novo tweet do nosso código, pois o usuário já está autenticado. Vamos colocar algum código de amostra aqui:

private static void updateTweet (Twitter Twitter, String Tweet) lança o TwitterException
Status Status = Twitter.UpdateStatus (Tweet);
Sistema.fora.println ("atualizou com sucesso o status para [" + status.getText () + "].");

Publicar um novo tweet é tão simples quanto isso.

Exemplo: Tweets de um usuário específico

É muito fácil obter outros tweets de usuário, basta passar em um nome de usuário e a API retornará alguns tweets recentes para o usuário.

Vamos tentar puxar os vinte Tweets mais recentes da conta do Twitter @Linuxhint:

Aqui está o código de exemplo:

Lista Statuses = Twitter.getUsertimeline ("Linuxhint");
para (Status Status: Statuses)
String fmt = "@" + status.getUser ().getScreenname () + " -" + status.getText ();
Sistema.fora.println (fmt);

Ao executar este programa, você deve ver tweets para Linuxhint.

As aplicações populares desse tipo de dados podem incluir:

  • Análise em execução em usuários específicos e como eles interagem com o mundo
  • Encontrando influenciadores do Twitter e analisando suas tendências e interações seguidores
  • Monitorar as mudanças nos seguidores de um usuário

Exemplo: Encontrar tweets usando uma palavra -chave

Vamos fazer um último exemplo: obtendo os tweets mais recentes que contêm uma palavra -chave. Isso pode ser extremamente útil se você quiser monitorar tópicos mencionados especificamente no mundo do Twitter, ou mesmo para ver como sua empresa está sendo mencionada.

Digamos que queremos ver como o Twitter está mencionando Linux:

// search termin = linux
Private Static Void SearchTweets (Twitter Twitter, String SearchTerm) lança o TwitterException
Consulta consulta = new Query ("fonte:" + pesquisa termin);
Resultado de QueryResult = Twitter.consulta de pesquisa);
para (status de status: resultado.getTweets ())
Sistema.fora.println ("@" + status.getUser ().getScreenname () + ":" + status.getText ());

Aqui estão algumas maneiras práticas de usar essas informações:

  • Crie um gráfico espacial sobre onde sua empresa é mais mencionada em todo o mundo
  • Execute a análise de sentimentos em tweets para ver se a opinião geral da sua empresa é positiva ou negativa
  • Crie um gráfico social dos usuários mais populares que twittam sobre sua empresa ou produto

Podemos cobrir alguns desses tópicos em artigos futuros.

A API do Twitter é imensamente útil em aplicativos de mineração de dados e pode fornecer vastas informações sobre a opinião pública.