Tutorial · Python · Twitter API · CSV

Cómo obtener y almacenar en un documento CSV tweets sobre una temática

En este tutorial se explica cómo recopilar tweets sobre una temática concreta y almacenarlos automáticamente en un fichero .csv para su posterior análisis.

Vídeo explicativo

Si necesitas ayuda, puedes seguir el proceso completo en el siguiente vídeo explicativo.

1. Objetivo

En este proyecto vamos a generar una pequeña investigación desde el punto de vista del Big Data y de las redes sociales. Exactamente, hemos utilizado Twitter como fuente textual, una red social en la que se pueden recolectar datos de forma más sencilla y, sobre todo, inmediata.

Esto permite establecer correlaciones temporales entre la evolución del virus y la opinión de la sociedad sobre el mismo.

Esta plataforma permite el envío de mensajes en texto plano de corta longitud, con un máximo de 280 caracteres. Estos mensajes, llamados tweets, pueden capturarse mediante la API proporcionada por la propia red social.

En este ejemplo se implementará un script en Python que almacene continuamente todos los tweets publicados en español sobre el Coronavirus.

2. Contexto

La temática elegida del proyecto ha sido la enfermedad Coronavirus o COVID-19 . Este fenómeno ha tenido un enorme impacto social, sanitario y económico, convirtiéndose en un tema recurrente y presente de forma continua en medios y redes sociales.

Siguiendo esta premisa, el objetivo consiste en desarrollar un script en Python que almacene de manera continuada tweets en español sobre Coronavirus. Con este dataset pueden analizarse las distintas percepciones de los usuarios teniendo en cuenta la evolución del virus y sus consecuencias.

Además, dado que vivimos en una sociedad muy digitalizada, donde las redes sociales se han convertido en un espacio habitual de opinión pública, resulta especialmente interesante estudiar este tipo de datos.

Preguntas que se pueden investigar

  • ¿Cómo ha evolucionado el virus en España por comunidades autónomas y en total?
  • ¿Cómo ha evolucionado el virus a nivel mundial?
  • ¿Qué repercusión han tenido en la opinión social los cambios positivos o negativos del virus?
  • ¿Cómo se sienten las personas respecto al progreso del virus a nivel autonómico y mundial?

3. Implementación

El programa utilizado se puede consultar y descargar desde la URL https://github.com/al118345/Tweepy_Example .

3.1 Conseguir las API Keys y Tokens de tu cuenta de Twitter

Las claves necesarias para utilizar este programa son las siguientes:

  • Consumer Key (API Key)
  • Consumer Secret (API Secret)
  • Access Token
  • Access Token Secret

Para ello, tendremos que acceder al centro de desarrolladores de Twitter en: https://developer.x.com/

Pulsamos en Create new App y rellenamos los campos básicos de la aplicación:

  • Name: nombre que daremos a la aplicación o proceso.
  • Description: breve descripción de la finalidad.
  • Website: web donde se usarán las claves.

El resultado se mostrará como en las siguientes imágenes:

Resultado Create new App
1. Resultado al crear una nueva aplicación en https://developer.x.com/
Resultado al crear una nueva aplicación en Twitter
2. Resultado al crear una nueva aplicación en https://developer.x.com/

Como puede observarse, los datos pueden ser genéricos. Lo importante es completar el proceso para obtener acceso como desarrollador y conseguir la API Key.

Entrando en la pestaña Keys and Access Token podremos ver tanto la API Key como el API Secret.

Keys and Access Token Twitter
3. Keys and Access Token en https://developer.x.com/

Para conseguir el token, hay que desplazarse al final de la página y pulsar el botón correspondiente. Una vez generado, ya tendremos todos los datos necesarios para conectar con Twitter.

Después, habrá que modificar el fichero autenticate_example.py:

Instalación en Windows

Instalación en Linux

3.2 Ejecutar el programa

El siguiente paso es ejecutar el programa principal situado en el fichero Tweepy_ejemplo_2022.py.

Este fichero contiene la siguiente consulta:

Como puede observarse, el programa busca todos los tweets publicados entre start_date y end_date que contengan la expresión pfizer sintomas.

El programa completo puede consultarse y descargarse desde: https://github.com/al118345/Tweepy_Example/blob/master/Tweepy_ejemplo_2022.py