Navegación en Internet con Python: Automatiza tareas en la web.

Navegación en Internet con Python: Automatiza tareas en la web

En este tutorial, aprenderemos a automatizar tareas en la web usando Python. Para ello, utilizaremos la biblioteca Selenium, que nos permite controlar un navegador web desde Python.

Requisitos

Para seguir este tutorial, necesitarás tener instalado Python y la biblioteca Selenium. Puedes instalar Python desde la página web oficial python.org: https://www.python.org/. Para instalar Selenium, puedes ejecutar el siguiente comando en la terminal:

pip install selenium

Importando las librerías

Para empezar, importaremos las librerías que necesitaremos:

Python
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.expected_conditions import ec.visibility_of_element_located

Abriendo un navegador

Lo primero que tenemos que hacer es abrir un navegador. Para ello, utilizaremos la función webdriver.Chrome(), que nos devolverá un objeto WebDriver que representa al navegador.

Python
driver = webdriver.Chrome()

Navegando a una página web

Una vez abierto el navegador, podemos navegar a una página web usando la función get().

Python
driver.get("https://www.google.com")

Encontrando elementos en una página web

Selenium nos permite encontrar elementos en una página web usando selectores. Hay varios tipos de selectores disponibles, como los selectores por id, los selectores por nombre, los selectores por clase y los selectores por XPath.

Por ejemplo, para encontrar el campo de búsqueda en la página de inicio de Google, podemos usar el siguiente selector:

Python
search_box = driver.find_element(By.name, "q")

Interactuando con elementos en una página web

Una vez que hemos encontrado un elemento, podemos interactuar con él usando métodos como send_keys(), click() y clear().

Por ejemplo, para buscar «Python» en Google, podemos usar el siguiente código:

Python
search_box.send_keys("Python")
search_box.submit()

Cerrando el navegador

Para terminar, podemos cerrar el navegador usando la función quit().

Python
driver.quit()

Ejemplo completo

A continuación, se muestra un ejemplo completo de código que automatiza la búsqueda de «Python» en Google:

Python
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.expected_conditions import ec.visibility_of_element_located


def main():
    # Abrir un navegador
    driver = webdriver.Chrome()

    # Navegar a la página de inicio de Google
    driver.get("https://www.google.com")

    # Encontrar el campo de búsqueda
    search_box = driver.find_element(By.name, "q")

    # Enviar la consulta de búsqueda
    search_box.send_keys("Python")
    search_box.submit()

    # Esperar a que la página se cargue
    WebDriverWait(driver, 10).until(
        ec.visibility_of_element_located((By.className, "g"))
    )

    # Obtener los resultados de la búsqueda
    results = driver.find_elements(By.className, "g")

    # Cerrar el navegador
    driver.quit()


if __name__ == "__main__":
    main()

Este código abrirá un navegador, navegará a la página de inicio de Google, enviará la consulta de búsqueda «Python» y, a continuación, esperará a que la página se cargue. Una vez cargada la página, el código obtendrá los resultados de la búsqueda y los imprimirá en la consola.

Conclusiones

En este tutorial, hemos aprendido a automatizar tareas en la web usando Python y la biblioteca Selenium. Con Selenium, podemos controlar un navegador web desde Python y realizar acciones como navegar a páginas web,