Automatización de tareas Web con Python y Selenium

Hoy comencé a aprender Python y realmente me emocionó ver lo divertido que podía llegar a ser. Lo primero que miré fue por «Cosas divertidas que hacer con Python» pero creo que mi enfoque no era el correcto. Lo importante es hacer la vida más fácil y para eso voy a automatizar una de las tareas que realizo y en la cual invierto mucho tiempo:

Descargar videos de youtube en formato MP3.

¿Qué?

Si, a veces lo hago. Resulta que hace un par de meses me volví fanático de un programa de radio y los capítulos antiguos están T O D O S en youtube (hablamos de más de 800 a la fecha).

Sé que hay alternativas para escucharlos en línea (como el propio youtube que no me deja apagar la pantalla) pero, honestamente, no son de mi agrado y si es por preferencias, siempre voy a preferir poder escucharlos sin conexión debido a que mi celular suele tener intermitencia de internet móvil.

¿Y cómo hay que hacer para instalarlo?

Bueh, a mí la cosa se me complica porque uso Windows para todas mis tareas por lo que instalar Python es una molestia. De cualquier forma, esto debiera funcionar si es que tienen Python y Selenium.

Yo instalé Python usando este enlace. Y luego instalé Selenium. Si es que estás en Windows, no olvides agregar a Python como variable de entorno si el instalador te lo pregunta, para que cuando escribamos python en la consola de windows reconozca al programa automáticamente.

> cmd
python

Si es que eso muestra la versión de Python y cambia el cursor a dos signos de mayor (>>) entonces todo está OK y ya estás dentro de la consola de Python.

Nota: Para salir de la consola de Python que acabamos de abrir es necesario escribir exit() sin las comillas.

Para instalar Selenium, una vez instalado Python, abrimos la consola de Windows y utilizamos el comando

> cmd
> pip install selenium

Después de eso, si lanzamos la consola de Python en CMD (Es decir, en CMD escribimos «Python») y escribimos lo siguiente sin que arroje error:

> cmd
> from selenium import webdriver

Significa que hicimos todo bien y podemos continuar.

Para utilizar un navegador de manera automatizada es necesario descargar Drivers específicos (bajo la sección «Third Party Drivers, Bindings, and Plugins»), en mi caso, tengo el Driver de Chrome en la carpeta de mi proyecto y funciona de maravilla, si es que quieren cambiar el navegador necesitarán el driver correspondiente y cambiar una línea de código.

Salimos de la consola de Python porque vamos a trabajar con un editor de Texto.

El Código

Primero crearé un archivo de texto en el cual listaré los videos que deseo descargar

> videoList.txt
# Separa cada URL del video con la tecla enter, esto es un comentario y no será tomado en cuenta.
www.youtube.com/watch?v=QUvVdTlA23w
www.youtube.com/watch?v=dR1NcSraAz0

Luego escribimos el código en Python

Y eso sería todo, al final abre la página Portal la cual me ayuda a traspasar archivos desde el PC al celular sin tener que conectarlo.

Un paso menos para mi vida, nada mal para haber aprendido Python hoy.

Descarga todo el código acá

> Saludos
Gonzalo Olivares
Analista Programador