Java

Twitter4J Tutorial

Twitter4J Tutorial
Nesta lição, usaremos a biblioteca Twitter4J para extrair dados do Twitter. O Twitter lida com Big Data todos os dias, mas o que é realmente? Teremos uma breve visão geral sobre Big Data antes de mergulharmos na mineração de dados do Twitter.

Por que meu Twitter?

O Twitter é um lugar perfeito para extrair dados de. Aqui estão alguns motivos pelos quais isso é verdade:

Começando

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

Estaremos usando uma biblioteca Java chamada Twitter4J para conectar à API do Twitter.

Obtendo a chave da API do Twitter

Obter a chave da API do Twitter é necessário para acessar seus dados, pois é assim que o Twitter rastreia os dados e a contagem de solicitações que nosso aplicativo faz ao Twitter.

Vamos criar um aplicativo do Twitter e obter as teclas corretas para seguir em frente.

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

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

Precisaremos desses valores mais tarde, então será melhor manter esta guia aberta.

Primeiros passos com Twitter4J

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

Dependência Maven

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


org.twitter4j
twitter4j-core
4.0.6

Encontre a última 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.

final estático String CONSUMER_KEY = "sua chave";
final estático String CONSUMER_SECRET = "segredo";
final estático String ACCESS_TOKEN = "token";
final estático String 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);
TwitterFactory tf = new TwitterFactory (cb.construir());
voltar tf.getInstance ();

Exemplo: mostrando a linha do tempo

Neste exemplo, mostraremos alguns tweets mais recentes da linha do tempo do usuário autenticado. 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.getHomeTimeline ();
Sistema.Fora.println ("Mostrando a linha do tempo inicial.");
para (status status: status)
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 ser parecido com um monte de tweets aleatórios:

Seguir o link para o tweet geralmente leva você ao próprio tweet. Seguir 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 oferece muitas informações 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 não inclui todos os métodos, fique à vontade para explorar todos os métodos disponíveis.

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

Exemplo: postar um tweet

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

private static void updateTweet (Twitter twitter, String tweet) lança TwitterException
Status status = twitter.updateStatus (tweet);
Sistema.Fora.println ("Atualizado com sucesso o status para [" + status.getText () + "].");

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

Exemplo: tweets de um usuário específico

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

Vamos tentar obter os últimos vinte tweets da conta do Twitter @linuxhint:

Aqui está o código de exemplo:

Lista status = twitter.getUserTimeline (“linuxhint”);
para (status status: status)
String fmt = "@" + status.getUser ().getScreenName () + "-" + status.getText ();
Sistema.Fora.println (fmt);

Ao executar este programa, você deve ver Tweets for LinuxHint.

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

  • Execução de análises em usuários específicos e como eles interagem com o mundo
  • Encontrar influenciadores do Twitter e analisar as tendências e interações de seus seguidores
  • Monitorando as mudanças nos seguidores de um usuário

Exemplo: Encontrar tweets usando uma palavra-chave

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

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

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) lança TwitterException
Consulta de consulta = nova Consulta ("fonte:" + searchTerm);
QueryResult result = twitter.consulta de pesquisa);
para (status 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 no mundo
  • Execute uma análise de sentimento em tweets para ver se a opinião geral de sua empresa é positiva ou negativa
  • Crie gráficos sociais dos usuários mais populares que tweetam 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 amplas percepções sobre a opinião pública.

Instale o último jogo de estratégia OpenRA no Ubuntu Linux
OpenRA é um motor de jogo de estratégia em tempo real Libre / Free que recria os primeiros jogos Westwood como o clássico Command & Conquer: Red Alert...
Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...
Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...