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.

No se puede encontrar una tabla utilizando Beautiful Soup.

Soy un traductor de español que traduce documentos de tecnología de la información (TI). Traduzca lo siguiente al español. No traduzca el código ni la salida en markdown.

Soy nuevo en el uso de Beautiful Soup para web scraping. Estoy intentando extraer una tabla de https://clinicaltrials.gov/ct2/search/browse?brwse=cond_alpha_all pero no funciona y no puedo encontrar por qué. Esto es lo que hice:

import requests
from bs4 import BeautifulSoup

url = "https://clinicaltrials.gov/ct2/search/browse?brwse=cond_alpha_all"

r = requests.get(url) #### recupérer le html
soup = BeautifulSoup(r.content) #### parser ce txt en html
table = soup.find("table",{"id":"theDataTable","class":"display dataTable no-footer"}) 

¡No puede encontrar la tabla! ¿Por qué?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Podría haber varias razones por las cuales el código no encuentra la tabla. Aquí hay algunas posibilidades:

    1. Criterios de búsqueda incorrectos: El método find() está buscando una etiqueta de tabla con un atributo id de "theDataTable" y un atributo class de "display dataTable no-footer". Es posible que la tabla en la página web tenga valores de atributo diferentes. Puede intentar print(soup.prettify()) para ver el código HTML y confirmar los valores de atributo de la tabla.
    2. Problemas de tiempo: Es posible que la tabla aún no se haya cargado cuando el código intenta encontrarla. Puede intentar agregar un retraso antes de buscar la tabla usando la función time.sleep().

    3. Captcha o página de inicio de sesión: La página web puede tener un captcha o una página de inicio de sesión que debe ser omitida antes de acceder a la tabla. En este caso, es posible que necesite usar un controlador web como Selenium para automatizar el proceso.

    4. Bloqueo de IP: Es posible que su dirección IP haya sido bloqueada por el sitio web debido a la extracción excesiva de información. En este caso, es posible que necesite utilizar un servicio de proxy rotativo para evitar el bloqueo.

    Sin más información, es difícil decir exactamente por qué el código no funciona.

Comments are closed.