Minería de datos de Twitter: una guía para el análisis de Big Data usando Python
Publicado: 2022-03-11Los grandes datos están en todas partes. Período. En el proceso de administrar un negocio exitoso en la época actual, es probable que se encuentre con él, le guste o no.
Si usted es un hombre de negocios tratando de ponerse al día o un prodigio de la codificación en busca de su próximo proyecto, este tutorial le dará una breve descripción de lo que es Big Data. Aprenderá cómo se aplica a usted y cómo puede comenzar rápidamente a través de la API de Twitter y Python.
¿Qué es Big Data?
Big data es exactamente lo que parece: una gran cantidad de datos. Por sí solo, un solo punto de datos no puede brindarle mucha información. Pero los terabytes de datos, combinados con modelos matemáticos complejos y una gran potencia informática, pueden crear conocimientos que los seres humanos no son capaces de producir. El valor que Big Data Analytics proporciona a una empresa es intangible y supera las capacidades humanas todos los días.
El primer paso para el análisis de big data es recopilar los datos en sí. Esto se conoce como "minería de datos". Los datos pueden provenir de cualquier parte. La mayoría de las empresas manejan gigabytes de datos de usuarios, productos y ubicaciones. En este tutorial, exploraremos cómo podemos usar técnicas de minería de datos para recopilar datos de Twitter, que pueden ser más útiles de lo que piensas.
Por ejemplo, supongamos que ejecuta Facebook y desea utilizar los datos de Messenger para proporcionar información sobre cómo puede anunciarse mejor a su audiencia. Messenger tiene 1.200 millones de usuarios activos mensuales. En este caso, el big data son conversaciones entre usuarios. Si tuviera que leer individualmente las conversaciones de cada usuario, podría tener una buena idea de lo que les gusta y recomendarles productos en consecuencia. Usando una técnica de aprendizaje automático conocida como procesamiento de lenguaje natural (NLP), puede hacer esto a gran escala con todo el proceso automatizado y dejado en manos de las máquinas.
Este es solo uno de los innumerables ejemplos de cómo el aprendizaje automático y el análisis de big data pueden agregar valor a su empresa.
¿Por qué datos de Twitter?
Twitter es una mina de oro de datos. A diferencia de otras plataformas sociales, los tweets de casi todos los usuarios son completamente públicos y extraíbles. Esta es una gran ventaja si está tratando de obtener una gran cantidad de datos para ejecutar análisis. Los datos de Twitter también son bastante específicos. La API de Twitter le permite realizar consultas complejas, como extraer todos los tweets sobre un tema determinado en los últimos veinte minutos, o extraer los tweets no retuiteados de un determinado usuario.
Una aplicación simple de esto podría ser analizar cómo se recibe a su empresa en el público en general. Puede recopilar los últimos 2000 tweets que mencionan su empresa (o cualquier término que desee) y ejecutar un algoritmo de análisis de sentimientos sobre ellos.
También podemos dirigirnos a usuarios que viven específicamente en una determinada ubicación, lo que se conoce como datos espaciales. Otra aplicación de esto podría ser mapear las áreas del mundo donde su empresa ha sido más mencionada.
Como puede ver, los datos de Twitter pueden ser una gran puerta hacia las percepciones del público en general y cómo reciben un tema. Eso, combinado con la apertura y la generosa limitación de velocidad de la API de Twitter, puede producir resultados poderosos.
Resumen de herramientas
Usaremos Python 2.7 para estos ejemplos. Idealmente, debería tener un IDE para escribir este código. Usaré PyCharm - Community Edition.
Para conectarnos a la API de Twitter, usaremos una biblioteca de Python llamada Tweepy, que instalaremos en un momento.
Empezando
Cuenta de desarrollador de Twitter
Para utilizar la API de Twitter, debemos crear una cuenta de desarrollador en el sitio de aplicaciones de Twitter.
- Inicie sesión o cree una cuenta de Twitter en https://apps.twitter.com/.
- Crear una nueva aplicación (botón en la parte superior derecha)
- Complete la página de creación de la 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 y continúe con la página siguiente.
- Una vez que haya creado su proyecto, haga clic en la pestaña "Claves y tokens de acceso". Ahora debería poder ver su secreto de consumidor y su clave de consumidor.
- También necesitará un par de tokens de acceso. Desplácese hacia abajo y solicite esos tokens. La página debería actualizarse y ahora debería tener un token de acceso y un secreto de token de acceso.
Necesitaremos todo esto más adelante, así que asegúrese de mantener esta pestaña abierta.
Instalación de Tweepy
Tweepy es una herramienta excelentemente compatible para acceder a la API de Twitter. Es compatible con Python 2.6, 2.7, 3.3, 3.4, 3.5 y 3.6. Hay un par de formas diferentes de instalar Tweepy. La forma más fácil es usando pip
.
Usando Pip
Simplemente escriba pip install tweepy
en su terminal.
Usando GitHub
Puede seguir las instrucciones en el repositorio GitHub de Tweepy. Los pasos básicos son los siguientes:
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
También puede solucionar cualquier problema de instalación allí.
autenticando
Ahora que tenemos las herramientas necesarias listas, ¡podemos comenzar a codificar! La línea de base de cada aplicación que construiremos hoy requiere el uso de Tweepy para crear un objeto API con el que podamos llamar funciones. Sin embargo, para crear el objeto API, primero debemos autenticarnos con nuestra información de desarrollador.
Primero, importemos Tweepy y agreguemos nuestra propia información de autenticación.
import tweepy consumer_key = "wXXXXXXXXXXXXXXXXXXXXXXX1" consumer_secret = "qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh" access_token = "9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi" access_token_secret = "kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT"
Ahora es el momento de crear nuestro objeto API.
# Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)
Esta será la base de cada aplicación que construyamos, así que asegúrese de no eliminarla.
Ejemplo 1: tu línea de tiempo
En este ejemplo, extraeremos los diez tweets más recientes de su feed de Twitter. Haremos esto usando la función home_timeline()
del objeto API. Luego podemos almacenar el resultado en una variable y recorrerlo para imprimir los resultados.
# Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text
El resultado debería verse como un montón de tweets aleatorios, seguidos de la URL del tweet en sí.

Seguir el enlace al tweet a menudo lo llevará al tweet mismo. Seguir el enlace del primer tweet nos daría el siguiente resultado:
Tenga en cuenta que si está ejecutando esto a través de la terminal y no un IDE como PyCharm, es posible que tenga algunos problemas de formato al intentar imprimir el texto del tweet.
El JSON detrás de los Resultados
En el ejemplo anterior, imprimimos el texto de cada tweet usando tweet.text
. Para referirnos a atributos específicos de cada objeto de tweet, tenemos que mirar el JSON devuelto por la API de Twitter.
El resultado que recibe de la API de Twitter está en formato JSON y tiene una gran cantidad de información adjunta. Para simplificar, este tutorial se centra principalmente en el atributo de "texto" de cada tweet y la información sobre el tweeter (el usuario que creó el tweet). Para el ejemplo anterior, puede ver todo el objeto JSON devuelto aquí.
Aquí hay un vistazo rápido a algunos atributos que un tweet tiene para ofrecer.
Si quisiera encontrar la fecha en que se creó el tweet, lo consultaría con print tweet.created_at
.
También puede ver que cada objeto de tweet viene con información sobre el tweeter.
Para obtener el atributo "nombre" y "ubicación" del tweeter, puede ejecutar print tweet.user.screen_name
e print tweet.user.location
.
Tenga en cuenta que estos atributos pueden ser extremadamente útiles si su aplicación depende de datos espaciales.
Ejemplo 2: Tweets de un Usuario Específico
En este ejemplo, simplemente extraeremos los últimos veinte tweets de un usuario de nuestra elección.
Primero, examinaremos la documentación de Tweepy para ver si existe una función como esa. Con un poco de investigación, encontramos que la función user_timeline()
es lo que estamos buscando.
Podemos ver que la función user_timeline()
tiene algunos parámetros útiles que podemos usar, específicamente id
(la identificación del usuario) y count
(la cantidad de tweets que queremos extraer). Tenga en cuenta que solo podemos obtener una cantidad limitada de tweets por consulta debido a los límites de frecuencia de Twitter.
Intentemos extraer los últimos veinte tweets de la cuenta de Twitter @NyTimes.
Podemos crear variables para almacenar la cantidad de tweets que queremos extraer (recuento) y el usuario del que queremos extraerlos (nombre). Luego podemos llamar a la función user_timeline con esos dos parámetros. A continuación se muestra el código actualizado (tenga en cuenta que debería haber mantenido la autenticación y la creación del objeto API en la parte superior de su código).
# Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = "nytimes" # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text
Nuestros resultados deberían ser algo como esto:
Las aplicaciones populares de este tipo de datos pueden incluir:
- Ejecutar análisis sobre usuarios específicos y cómo interactúan con el mundo
- Encontrar personas influyentes en Twitter y analizar las tendencias e interacciones de sus seguidores
- Seguimiento de los cambios en los seguidores de un usuario
Ejemplo 3: 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 empresa. Digamos que queremos ver cómo Twitter ha estado mencionando a Toptal.
Después de revisar la documentación de Tweepy, la función de search()
parece ser la mejor herramienta para lograr nuestro objetivo.
El parámetro más importante aquí es q
, el parámetro de consulta, que es la palabra clave que estamos buscando.
También podemos configurar el parámetro de idioma para que no recibamos tweets de un idioma no deseado. Solo devolveremos tweets en inglés ("en").
Ahora podemos modificar nuestro código para reflejar los cambios que queremos hacer. Primero creamos variables para almacenar nuestros parámetros (consulta e idioma) y luego llamamos a la función a través del objeto API. También imprimamos el nombre de pantalla, del usuario que creó el tweet, en nuestro ciclo.
# Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = "Toptal" # Language code (follows ISO 639-1 standards) language = "en" # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,"Tweeted:",tweet.text
Nuestros resultados deberían ser algo como esto:
Aquí hay algunas formas prácticas en las 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 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 tuitean sobre su empresa o producto
Podemos cubrir algunos de estos temas en futuros artículos.
Conclusión
La API de Twitter es inmensamente útil en las aplicaciones de minería de datos y puede proporcionar una gran cantidad de información sobre la opinión pública. Si la API de Twitter y el análisis de big data son algo en lo que tiene más interés, le recomiendo que lea más sobre la API de Twitter, Tweepy y las pautas de limitación de velocidad de Twitter.
Cubrimos solo los conceptos básicos de acceso y extracción. La API de Twitter se puede aprovechar en problemas de big data muy complejos, que involucran personas, tendencias y gráficos sociales demasiado complicados para que la mente humana los entienda por sí solo.