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.

¿Cómo puedo raspar una etiqueta de tabla anidada oculta con BeautifulSoup y Python?

He estado tratando de encontrar la tabla de este sitio web: https://consultas.anvisa.gov.br/#/medicamentos/25351532892201972/

Estoy utilizando el siguiente método:

from bs4 import BeautifulSoup
import requests

url = "https://consultas.anvisa.gov.br/#/medicamentos/25351532892201972/"
page = requests.get(url, verify=False)

soup = BeautifulSoup(page.content, 'html.parser')
print(soup.prettify())

for table in soup.find_all('table'):
    print(table)
    for subtable in table.find_all('table'):
        print(subtable)

No muestra ningún resultado, porque de alguna manera la tabla parece estar oculta. Puedo ver las etiquetas y la tabla utilizando el inspector de Firefox (imagen adjunta), pero BeautifulSoup no puede encontrarla con los métodos que he estado intentando hasta ahora.

¿Qué puedo hacer para encontrar este tipo de tablas anidadas ocultas? Ya he intentado muchas formas de encontrarla con soup.find(), soup.find_all(), soup.body.div.table.find_all(), pero aún no tengo éxito.

¡Gracias de antemano! =)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, extraer tablas ocultas de páginas web puede ser un desafío. Aquí hay algunas cosas que puedes intentar para encontrar la tabla en este sitio web:

    1. Verifica si la tabla se carga dinámicamente mediante JavaScript. En este caso, deberás utilizar una herramienta como Selenium para extraer la tabla después de que se haya renderizado.
    2. Busca una API que proporcione los datos de la tabla. Muchos sitios web ofrecen APIs que permiten recuperar datos en un formato estructurado como JSON o XML. Revisa la documentación del sitio web o intenta inspeccionar el tráfico de red en las herramientas de desarrollo de tu navegador para ver si puedes encontrar una API que proporcione los datos de la tabla.

    3. Intenta encontrar la tabla en el código fuente de la página. A veces, la tabla está oculta de manera predeterminada y solo aparece cuando un usuario interactúa con la página. En este caso, es posible que puedas encontrar la tabla en el código fuente de la página y extraer los datos desde allí.

    4. Ponte en contacto con el propietario del sitio web y pregúntale si pueden proporcionar los datos en un formato más accesible. Esto puede que no siempre sea posible, pero vale la pena intentarlo si realmente necesitas los datos.

    En general, extraer tablas ocultas de páginas web puede ser un proceso frustrante y que consume mucho tiempo. Es importante respetar los términos de uso del sitio web y no participar en prácticas de extracción de datos web no éticas.

Comments are closed.