Twitter4J Tutorial

Twitter4J Tutorial
En esta lección, usaremos la biblioteca Twitter4J para extraer datos de Twitter. Twitter trata con Big Data todos los días, pero ¿qué es realmente?? Tendremos una visión general muy breve de Big Data antes de sumergirnos en los datos mineros de Twitter.

Por qué mía Twitter?

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

  • Todos los tweets en Twitter son públicos
  • Los nuevos datos siguen llegando en tiempo real, esto significa que nunca se queda sin datos nuevos para probar
  • Twitter tiene una API interesante para que los desarrolladores extraen datos, también son amigables
  • Las API proporcionadas por Twitter proporcionan formas fáciles de extraer tweets relacionados con un usuario específico o con una palabra/hashtag o tweets específico en una ubicación determinada

Empezando

Ahora que hemos justificado por qué estamos usando esta plataforma, comencemos a recopilar nuestras herramientas. Usaremos Java 8 para esta lección, pero no dude en usar versiones anteriores (aunque algunos ajustes, no tweets, podrían ser necesarios para usarlos).

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

Obtener la llave de API de Twitter

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

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

  • Crea una aplicación aquí

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 una) y una descripción del proyecto. Acepte los términos y condiciones (si lo hace) y continúe a la página siguiente.

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

  • En la información a continuación, haga clic en la pestaña 'teclas y tokens de acceso' para obtener la siguiente información:
  • Desplácese hacia abajo y haga clic en "Generar tokens de acceso" para obtener la información a continuación:

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

Comenzando con Twitter4J

Twitter4J es un no oficial Biblioteca 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 una dependencia de Maven apropiada a nuestro proyecto Java.


organizar.Twitter4J
Twitter4J-Core
4.0.6

Encuentra la última versión de dependencia de Maven aquí.

Autenticación

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

Para comenzar 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 antes.

static final String consumer_key = "you-key";
Cadena final estática consumer_secret = "secreto";
cadena final estática access_token = "token";
Cadena final estática access_token_secret = "token-secret";
public static twitter getTwitterInstance ()
ConfigurationBuilder cb = new ConfigurationBuilder ();
CB.setDeBUGEnabled (verdadero) Bashbash
.setoAuthConsumerkey (Consumer_key)
.setoauthconsumersecret (consumidor_secret)
.SetoAuthAccessToken (access_token)
.sateOauthaccessTokensecret (access_token_secret);
TwitterFactory tf = nueva TwitterFactory (CB.construir());
devolver tf.obtener Instancia();

Ejemplo: Mostrar línea de tiempo

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

showhometimeline void estático privado (Twitter Twitter)
Lista estado = nulo;
intentar
estado = twitter.gethometimeline ();
Sistema.afuera.println ("Mostrar la línea de tiempo de inicio.");
para (estado de estado: estado)
Sistema.afuera.println (estado.getUser ().getName () + ":" + estado.getText ());
Cadena url = "https: // twitter.com/" + estado.getUser ().getsCreenname () + "/status/"
+ estado.getId ();
Sistema.afuera.println ("URL de tweet anterior:" + url);

Catch (TwitterException e)
mi.printStackTrace ();

El resultado debe parecer un montón de tweets aleatorios:

Seguir el enlace al 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 de tweet, la API de Twitter tiene mucha información que 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: publica un tweet

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

Private static void UpdateTweet (Twitter Twitter, String Tweet) lanza TwitterException
Estado de estado = Twitter.UpdateStatus (tweet);
Sistema.afuera.println ("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 los tweets de otro usuario, solo pase un nombre de usuario y la API devolverá algunos tweets recientes para el usuario.

Intentemos sacar los últimos veinte tweets de la cuenta de Twitter @LinuxHint:

Aquí está el código de ejemplo:

Lista estado = twitter.getUsertimeline ("Linuxhint");
para (estado de estado: estado)
Cadena fmt = "@" + estado.getUser ().getsCreenname () + " -" + estado.getText ();
Sistema.afuera.println (fmt);

Cuando ejecute este programa, debería ver tweets para Linuxhint.

Las aplicaciones populares de este tipo de datos pueden incluir:

  • Ejecutar análisis en usuarios específicos y cómo interactúan con el mundo
  • Encontrar influencers de Twitter y analizar sus tendencias e interacciones de seguidores
  • Monitoreo 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 mencionados específicamente en el mundo de Twitter, o incluso para ver cómo se menciona su negocio.

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

// Searchterm = Linux
Private static void SearchTweets (Twitter Twitter, String SearchMter) lanza TwitterException
Query Query = New Query ("Fuente:" + Searchterm);
QueryResult Result = Twitter.consulta de busqueda);
para (estado de estado: resultado.getTweets ())
Sistema.afuera.println ("@" + estado.getUser ().getsCreenname () + ":" + estado.getText ());

Aquí hay algunas formas prácticas en que puede usar esta información:

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

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

La API de Twitter es inmensamente útil en las aplicaciones de minería de datos y puede proporcionar vastas ideas sobre la opinión pública.