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:
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.
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()
.
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:
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:
search_box.send_keys("Python")
search_box.submit()
Cerrando el navegador
Para terminar, podemos cerrar el navegador usando la función quit()
.
driver.quit()
Ejemplo completo
A continuación, se muestra un ejemplo completo de código que automatiza la búsqueda de «Python» en Google:
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,