Si necesitas ayuda esta disponible el siguiente video explicativo: https://www.youtube.com/watch?v=SJ2KtPdaGWY.
En este proyecto vamos a generar una pequeña investigación desde el punto de vista del Big Data y de las redes sociales. Exactactamente, 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, necesario para establecer correlaciones temporales entre la evolución del virus y la opinión del mismo de la sociedad.
Esta plataforma permite el envío de mensajes en texto plano de corta longitud por parte de los usuarios, con un máximo de 280 caracteres. Estos mensajes, llamados tweets, se muestran en la página principal del usuario y pueden ser capturados a través de una API proporcionada por la propia red social.
Este ejemplo va a consistir en la implementación de un script en Python que almacene continuamente todos los tweets que se escriben sobre el Coronavirus en español.
La temática elegida del proyecto ha sido la actual enfermedad Coronavirus o COVID19. Este virus ha entrado en la vida de todas las personas del planeta desde hace unos pocos meses, llevando su letalidad a parar las actividades normales de todo tipo (trabajos, rutinas…). En la actualidad, este es un tema recurrente y sobre el que se tiene información casi las 24 horas del día, debido a su notoriedad y magnitud.
Siguiendo esta premisa, nuestro objetivo va a consistir en la implementación de un script en Python que almacene continuamente todos los tweets que se escriben sobre el Coronavirus en español. Con este dataset se pueden analizar las distintas percepciones de los usuarios teniendo en cuenta la evolución del virus y sus consecuencias.
Además, ya que nos encontramos en una sociedad casi totalmente digital y acostumbrados a que los usuarios de las redes sociales están continuamente dando su punto de vista sobre la realidad, he considerado que obtener el pensamiento de ellos sobre este tema tan actual y notorio sería interesante.
Además, un conjunto de datos de este tipo permite realizar investigaciones y resolver preguntas como:
El programa que he utilizado se puede consultar y descargar desde la URL https://github.com/al118345/Tweepy_Example
Las claves que necesitamos para poder utilizar este programa son las siguientes:
Para ello, tendremos que acceder al centro de desarrolladores de aplicaciones de Twitter de la siguiente url: https://apps.twitter.com donde empezaremos todo el proceso.
Pinchamos en el botón Create new App y aparecerá una ventana donde se deberán escribir la siguiente información:
El resultado obtenido se mostrará en la siguiente imagen
Como se puede observar, pueden ser inventados, es decir, no hace falta utilizar datos reales. Lo importante es rellenarlos para poder tener una cuenta de desarrollador. Una vez obtenida, ya podremos ver nuestra clave Api o Api Key (Consumer Key)
Pinchando en la pestaña llamada Keys and Access Token accedemos a los datos que nos faltan. Podremos ver ahora tanto la clave Api como el secret Api (Consumer Secret).
Para conseguir el Token tenemos que desplazarnos hasta abajo de la página y pinchar en en el botón para poder conseguirlos. Y ya está, tenemos todos los datos para conectar con nuestra cuenta de Twitter.
Una vez generado, tenemos que modificar el fichero autenticate_example.py
def get_auth(): consumer_key = '' consumer_secret = '' access_token = '' access_token_secret = '' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) return auth
Rellenada toda la información, el siguiente paso es cambiar el nombre al fichero por autenticate.py y ejecutar el siguiente comando en windows para instalar todas las librerías necesarias:
python get-pip.py install -r requirements.txt
En Linux se puede ejecutar el siguiente comando:
pip install -r requirements.txt
start_date = date(2020, 12, 24)
end_date = date.today()
tweets = []
for tweet in tweepy.Cursor(api.search_tweets, "pfizer sintomas",
).items():
if tweet.created_at.date() < end_date and tweet.created_at .date()> start_date:
if tweet.text not in tweets:
tweets.append(tweet)
almacenar_tweet(tweet)
Cómo se puede observar, este programa está buscado todo los tweets publicados desde las fechas start_date y end_date y que contengan la palabra pfizer sintomas
El programa que he utilizado se puede consultar y descargar desde la URL https://github.com/al118345/Tweepy_Example/blob/master/Tweepy_ejemplo_2022.py