es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Web-scraping de un sitio web dinámico con entrada de usuario utilizando Selenium y Python

Como nadador, estoy tratando de extraer tiempos de una tabla que se puede acceder después de que el usuario ingrese su nombre u otros campos opcionales. El sitio web genera dinámicamente estos datos. A continuación se muestra mi código actual que no considera las entradas del usuario.

Estoy muy confundido sobre cómo funciona la automatización de Selenium y cómo encontrar el campo de texto correcto para que pueda leer mis resultados y para que el resto de mi código pueda extraer la tabla.

¿Alguien puede darme algún consejo sobre cómo proceder?

Cualquier ayuda es apreciada y gracias de antemano.

Este es mi código actual:

from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
site = 'https://www.swimming.org.nz/results.html'
wd = webdriver.Chrome("C:\\Users\\joseph\\webscrape\\chromedriver.exe")
wd.get(site)
html = wd.page_source
df = pd.read_html(html)
df[1].to_csv('Results.csv')
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en selenium, web scraping, xpath, iframe y selectores CSS, puedo entender el desafío al que te enfrentas al extraer datos de tablas generadas dinámicamente. Aquí tienes algunas sugerencias sobre cómo proceder:

    1. Identificar los campos de entrada de usuario: Antes de poder extraer datos de la tabla, debes identificar los campos donde el usuario introduce su nombre u otra información. Puedes utilizar la función “inspeccionar” en tu navegador web para ver el código fuente del sitio web e identificar el ID o la clase de los campos de entrada.
    2. Utilizar selenium para completar los campos de entrada: Una vez que hayas identificado los campos de entrada de usuario, puedes utilizar selenium para completar la información proporcionada por el usuario. Puedes hacer esto encontrando el elemento utilizando su ID o clase y luego enviando las teclas correspondientes.

    3. Activar la actualización de la tabla: Después de completar la entrada de usuario, debes activar la actualización de la tabla. Esto se puede hacer encontrando el elemento o botón que activa la actualización y haciendo clic en él utilizando selenium.

    4. Extraer datos de la tabla actualizada: Una vez que la tabla haya sido actualizada, puedes utilizar selenium para extraer datos de ella utilizando xpath o selectores CSS. Debes identificar el elemento de la tabla utilizando su ID o clase y luego utilizar selenium para extraer su contenido.

    En resumen, para extraer datos de tablas generadas dinámicamente utilizando selenium, debes identificar los campos de entrada de usuario, completar la información necesaria, activar la actualización de la tabla y luego extraer los datos utilizando xpath o selectores CSS. Espero que esto te ayude en tu proyecto de web scraping.

Comments are closed.