USO DE PYTHON EN LAS HUMANIDADES
Python para humanistas
Python es un lenguaje de programación muy conocido y utilizado en el ámbito científico e investigativo; es considerado un lenguaje de alto nivel debido a que la manera de presentar sus algoritmos es más cercana al lenguaje natural de los humanos, que al lenguaje de máquina, lo cual ayuda a que sea más comprensible para una persona que posee conocimientos básicos de informática y programación.
A diferencia de otros lenguajes, Python utiliza la indentación para delimitar el contenido en sus bloques de código, es decir, lo hace mediante espacios o tabulaciones, evitando así el uso de caracteres como las llaves.
Las características anteriores hacen que se cumpla la filosofía con la cual se creó Python: la legibilidad de su código.
Las Librerías
Python posee muchas librerías orientadas a diversidad de temas, esto lo hace un lenguaje predilecto para el uso de muchos proyectos humanistas, y la mayoría de ellas poseen una amplia documentación en la cual las personas se pueden apoyar para iniciar por sí mismas un proyecto. Es con el apoyo de estas librerías que Python permite obtener datos de forma más rápida y presentarlos de manera más atractiva.
Dentro de las infinitas posibilidades que existen de proyectos que se pudieran desarrollar con Python se encuentran: la creación de nubes de palabras, generación de heatmaps, análisis de sentimientos y recolección de datos.
Actualmente las humanidades digitales continúan adoptando a Python para producir código que les permita realizar sus investigaciones; generalmente se involucra en más de una etapa de la investigación a lo largo del proceso con el que cumple un proyecto programado en Python, esto va desde la recolección y análisis de los datos, hasta la obtención y presentación de los resultados. Dicha presentación de los resultados suele realizarse a manera de que sea mucho más digerible y fácil de entender para el público al que va dirigido, usualmente se utilizan como recurso los gráficos o las nubes de palabras y es ahí donde toman importancia las librerías que ofrece el lenguaje, ya que sin ellas sería muy difícil o en ocasiones imposible, poder realizar tareas más complejas como las que demandan el estar trabajando, por ejemplo, con gráficos. Dichas librerías, conocidas también como módulos, son instaladas mediante PIP el cual es un sistema que permite gestionar y administrar la instalación de paquetes escritos en Python; el programa ya viene instalado con Python 2.7.9 y versiones superiores para Python2 y en Python 3.4 y superiores para Python3.
¿Con cuál versión de Python debo trabajar?
A este punto sabemos que existen varias versiones de Python pero ¿con cuál versión de Python se debería trabajar? la respuesta es simple, pues se debe tomar en cuenta que en estos momentos la mayoría de documentación suele estar en la versión de Python3, sin embargo, existen tutoriales que se pueden encontrar en la versión de Python2, en este caso se recomienda buscar alternativas al código para “traducirlo” a la sintaxis más nueva, pues la versión antigua pronto dejará de recibir actualizaciones, lo cual puede traer varios problemas o errores en nuestro código.
En algunas circunstancias se puede llegar a instalar más de una versión de Python en una misma computadora, esto puede ocasionar una serie de errores que no permitan desarrollar o ejecutar nuestro proyecto de forma satisfactoria. Para evitar esto, existe una suite muy útil llamada Anaconda, la cual contiene una serie de aplicaciones que pueden ser instaladas de forma sencilla desde ella, una de estas es Python, la ventaja de realizar la instalación utilizando Anaconda es que, antes de proceder, revisa si ya existe una versión instalada y en el caso que así sea, la reemplaza por la nueva evitando que queden ambas instaladas.
Proyecto de scraping
Con la intención de aprender y dar a conocer poco a poco como puede ser aprovechado Python en las humanidades, en los laboratorios multimedia del Departamento de Comunicaciones y Cultura de la Universidad Centroamericana José Simeón Cañas (UCA) se ha dado inicio a una investigación con grandes aspiraciones que involucra la recolección de datos, también conocido como scraping, para realizar análisis de sentimientos a partir de información recolectada de la red social Twitter.
En la investigación se necesita conocer el comportamiento e interacciones en twitter del presidente Nayib Bukele, obteniendo la cantidad de tweets que realiza, su comportamiento dentro de Twitter y descubrir cuáles fueron las características que hicieron la diferencia para que fuera exitoso en las redes sociales y dentro de su campaña.
Las herramientas del proyecto
Al inicio de la investigación surgió la necesidad de buscar una librería que cubriera los requerimientos, como resultado se encontraron dos librerías para realizar scrape. La primera es la API de Twitter y la segunda es una llamada Tweepy.
Al principio se hicieron pruebas para trabajar con la API de Twitter, pero resultó ser un poco más compleja que la librería Tweepy, lo que suponía una desventaja si la idea es poder mostrar código que sea más digerible para personas que no conocen mucho sobre programación. La razón por la cual Tweepy no fue la primera opción fue que, según la documentación, esta tenía años sin ser actualizada, por lo que casi nadie quería utilizarla. Sin embargo, al realizar nuevas pruebas con ella, se descubrió que existían cosas que funcionaban muy bien y eran mucho más entendibles desde un entorno ajeno al de la informática o la programación como tal; además de que Tweepy fue actualizada en junio de 2019.
Parte del proceso inicial involucra solicitar una cuenta de desarrollador de Twitter para poder tener acceso a los datos de la plataforma, para esto se necesita aplicar a dicho tipo de cuenta explicando para qué se necesita, para qué será utilizada, cómo será utilizada y si compartirá y cómo compartirá la información que se obtenga. Cabe mencionar que esta cuenta debe ser manejada exclusivamente por la persona dueña de ella. Otro detalle a tener en cuenta es que existen tres tipos de cuentas de desarrollador, la standard search que es gratuita, la premium search y la enterprise search que son pagadas.
La diferencia entre ellas radica en ciertas restricciones vinculadas con el período de acceso a los datos que se pueden obtener, la gratuita permite realizar búsquedas de un histórico de hasta 7 días, tomando en cuenta que el máximo de tweets que se pueden obtener tiene una cantidad límite de 900. Mientras que la cuenta premium permite búsquedas de hasta 30 días.
Consideraciones del proyecto
Además de los detalles anteriores, actualmente uno de los inconvenientes que aún no se logra solucionar, puesto que la documentación sobre este tema en específico es bien poca, es colocar un rango de fechas (entre los 7 días permitidos por la cuenta standard) puesto que, a pesar de que existen los parámetros “since” y “until” para el manejo de fechas, al parecer no son reconocidos y se continúan arrojando resultados hasta llegar al límite ya sea de los 7 días o en caso de ser un usuario, tema o palabra que se menciona demasiadas veces, hasta alcanzar los 900 tweets.