Java

Tutorial de Twitter4J

Tutorial de Twitter4J
En esta lección, usaremos la biblioteca Twitter4J para extraer datos de Twitter. Twitter se ocupa de Big Data todos los días, pero ¿qué es realmente?? Tendremos una descripción general muy breve sobre Big Data antes de sumergirnos en los datos de minería de Twitter.

Por que el mío Twitter?

Twitter es un lugar perfecto para extraer datos. Aquí hay algunas razones por las que esto es cierto:

Empezando

Ahora que hemos justificado por qué usamos esta plataforma, comencemos a recopilar nuestras herramientas. Usaremos Java 8 para esta lección, pero siéntase libre de usar las versiones anteriores (aunque es posible que se necesiten algunos ajustes, no tweets, para usarlos).

Usaremos una biblioteca de Java llamada Twitter4J para conectarnos a la API de Twitter.

Obtener la clave API de Twitter

Obtener la clave API de Twitter es necesario para acceder a sus datos, ya que así es como Twitter realiza un seguimiento de los datos y el recuento de solicitudes que nuestra aplicación hace a Twitter.

Creemos una aplicación de Twitter y obtengamos las claves correctas para seguir adelante.

En el formulario anterior, cree una aplicación con un nombre único, un nombre de sitio web (use un sitio web de marcador de posición si no tiene uno) y una descripción del proyecto. Acepte los términos y condiciones (si lo hace) y continúe con la página siguiente.

Una vez que se crea el proyecto, debería ver una página con el siguiente encabezado:

Necesitaremos estos valores más adelante, por lo que será mejor mantener esta pestaña abierta.

Introducción a Twitter4J

Twitter4J es un no oficial Biblioteca de Java para la API de Twitter. Con Twitter4J, podemos integrar fácilmente nuestra aplicación Java con el servicio de Twitter.

Dependencia de Maven

Para comenzar, agregaremos la dependencia de Maven apropiada a nuestro proyecto Java.


org.twitter4j
twitter4j-core
4.0.6

Encuentre la última versión de dependencia de maven aquí.

Autenticación

Hemos agregado la dependencia requerida de Maven ahora. Es hora de que comencemos a hablar con la API y Twitter.

Para iniciar la conversación, necesitamos autenticar nuestras llamadas a Twitter para que sepa que solo un usuario conocido está accediendo a los datos. Para esto, configuremos nuestras claves que obtuvimos anteriormente.

Cadena final estática CONSUMER_KEY = "tu-clave";
Cadena final estática CONSUMER_SECRET = "secreto";
Cadena final estática ACCESS_TOKEN = "token";
Cadena final estática ACCESS_TOKEN_SECRET = "token-secret";
Twitter estático público getTwitterInstance ()
ConfigurationBuilder cb = new ConfigurationBuilder ();
cb.setDebugEnabled (verdadero) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = nueva TwitterFactory (cb.construir());
volver tf.obtener Instancia();

Ejemplo: mostrar la línea de tiempo

En este ejemplo, mostraremos algunos tweets más recientes de la línea de tiempo del usuario autenticado. Haremos esto usando la instancia de estado del objeto de Twitter como:

showHomeTimeline privado estático vacío (Twitter twitter)
Lista estados = nulo;
intentar
estados = twitter.getHomeTimeline ();
Sistema.fuera.println ("Mostrando cronología de inicio.");
para (Estado de estado: estados)
Sistema.fuera.println (estado.getUser ().getName () + ":" + estado.getText ());
String url = "https: // twitter.com / "+ estado.getUser ().getScreenName () + "/ estado /"
+ estado.getId ();
Sistema.fuera.println ("Arriba de la URL del tweet:" + url);

captura (TwitterException e)
mi.printStackTrace ();

El resultado debería verse como un montón de tweets aleatorios:

Seguir el enlace del tweet a menudo lo llevará al tweet en sí. Seguir el enlace del primer tweet nos daría el siguiente resultado:

Además del nombre de usuario y el texto del tweet, la API de Twitter tiene mucha información para dar que se puede inferir de los siguientes métodos disponibles:

estado.getSource ();
estado.getCreatedAt ();
estado.getFavoriteCount ();
estado.getGeoLocation ();
estado.getLang ();
estado.getPlace ();
estado.getRetweetCount ();
estado.getUser ().getBiggerProfileImageURL ();
estado.getUser ().getEmail ();
estado.getUser ().getFollowersCount ();
estado.getUser ().getFriendsCount ();

Esto proporciona mucha información relacionada con el Tweet y el usuario que publicó el tweet. Estos incluyen no todos los métodos, no dude en explorar todos los métodos disponibles.

Tenga en cuenta que estos atributos pueden ser extremadamente útiles si su aplicación depende de más datos.

Ejemplo: publicar un tweet

En este ejemplo, simplemente publicaremos un nuevo tweet desde nuestro código, ya que el usuario ya está autenticado. Pongamos un código de muestra aquí:

updateTweet vacío estático privado (Twitter twitter, String tweet) lanza TwitterException
Estado de estado = twitter.updateStatus (tweet);
Sistema.fuera.println ("Se actualizó correctamente el estado a [" + estado.getText () + "].");

Publicar un nuevo tweet es tan simple como eso.

Ejemplo: tweets de un usuario específico

Es muy fácil obtener tweets de otro usuario, simplemente pase un nombre de usuario y la API devolverá algunos tweets recientes para el usuario.

Intentemos extraer los últimos veinte tweets de la cuenta de Twitter @linuxhint:

Aquí está el código de ejemplo:

Lista estados = twitter.getUserTimeline ("linuxhint");
para (Estado de estado: estados)
Cadena fmt = "@" + estado.getUser ().getScreenName () + "-" + estado.getText ();
Sistema.fuera.println (fmt);

Cuando ejecute este programa, debería ver Tweets para LinuxHint.

Las aplicaciones populares de este tipo de datos pueden incluir:

  • Ejecución de análisis sobre usuarios específicos y cómo interactúan con el mundo
  • Encontrar influencers de Twitter y analizar las tendencias e interacciones de sus seguidores
  • Seguimiento de los cambios en los seguidores de un usuario

Ejemplo: encontrar tweets usando una palabra clave

Hagamos un último ejemplo: obtener los tweets más recientes que contienen una palabra clave. Esto puede ser extremadamente útil si desea monitorear temas específicamente mencionados en el mundo de Twitter, o incluso para ver cómo se menciona su negocio.

Digamos que queremos ver cómo Twitter ha mencionado Linux:

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) arroja TwitterException
Consulta de consulta = nueva consulta ("fuente:" + término de búsqueda);
Resultado de QueryResult = twitter.consulta de busqueda);
para (Estado de estado: resultado.getTweets ())
Sistema.fuera.println ("@" + estado.getUser ().getScreenName () + ":" + estado.getText ());

A continuación se muestran algunas formas prácticas en las que puede utilizar esta información:

  • Cree un gráfico espacial sobre dónde se menciona más a su empresa en todo el mundo
  • Ejecute un análisis de sentimiento en los tweets para ver si la opinión general de su empresa es positiva o negativa
  • Cree gráficos sociales de los usuarios más populares que twittean sobre su empresa o producto

Podemos cubrir algunos de estos temas en artículos futuros.

La API de Twitter es inmensamente útil en aplicaciones de minería de datos y puede proporcionar una gran cantidad de información sobre la opinión pública.

Las mejores aplicaciones de mapeo de gamepad para Linux
Si te gusta jugar juegos en Linux con un gamepad en lugar de un sistema de entrada de teclado y mouse típico, hay algunas aplicaciones útiles para ti....
Herramientas útiles para jugadores de Linux
Si le gusta jugar juegos en Linux, es probable que haya utilizado aplicaciones y utilidades como Wine, Lutris y OBS Studio para mejorar la experiencia...
Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...