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 extraer preguntas de un cuestionario de un sitio web?

Obteniendo el contenido del curso de un sitio web, pero no puedo obtener el resultado exacto, hay demasiado código no deseado.
(Usé F12 para las herramientas de desarrollo de Chrome, estoy confundido..) ¿cómo puedo hacerlo de manera sencilla?

Mi código:

import requests
import bs4

res = requests.get('https://brilliant.org/practice/computational-models-of-the-neuron/?p=2')
# verifico si funciona o no
res.raise_for_status()  #raise_for_status()
res.text

bs = bs4.BeautifulSoup(res.text)
bs.select('.course-quiz-content') # o bs.select('p') ambos no funcionaron bien

Añado: Solo quiero obtener el texto, el resultado sería como:

[<div class="course-quiz-content">
 <div class="solv-problem">
 <div class="solv-content">
 <div class="question-text latex">
 <p><span class="image-caption center">
 <img alt="" src="https://ds055uzetaobb.cloudfront.net/brioche/uploads/QjYrKg7An9-group-17.svg?height=200" srcset="https://ds055uzetaobb.cloudfront.net/brioche/uploads/QjYrKg7An9-group-17.svg?height=200 1x,https://ds055uzetaobb.cloudfront.net/brioche/uploads/QjYrKg7An9-group-17.svg?height=400 2x,https://ds055uzetaobb.cloudfront.net/brioche/uploads/QjYrKg7An9-group-17.svg?height=600 3x" style="max-height:200px;max-width:100%;">
 </span></p>
 <p>A neuron has many inputs but only one output, so it must "integrate" its inputs into one output (a single number). Recall that the inputs to a neuron are generally outputs from other neurons. What is the most natural way to represent the set of these inputs to a single neuron in an ANN?</p>
 </div>...

Resultado esperado:

Una neurona tiene muchas entradas pero solo una salida, por lo que debe “integrar” sus entradas en una salida (un solo número). Recuerda que las entradas de una neurona generalmente son salidas de otras neuronas. ¿Cuál es la forma más natural de representar el conjunto de estas entradas en una neurona única en una ANN?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para simplificar el proceso de extracción de contenido de un curso mediante web scraping desde un sitio web, puedes seguir los siguientes pasos:

    1. Inspecciona la página web utilizando las Herramientas de Desarrollo de Chrome para identificar el elemento HTML que contiene la información que deseas extraer. En este caso, puedes buscar el elemento que contiene el texto del contenido del curso.
    2. Una vez que hayas identificado el elemento HTML, utiliza las librerías requests y BeautifulSoup en Python para recuperar el contenido HTML de la página web y analizarlo respectivamente.

    3. Utiliza el método find o find_all del objeto BeautifulSoup para localizar el elemento HTML que contiene el texto del contenido del curso.

    4. Extrae el texto del elemento HTML utilizando el atributo text.

    Aquí tienes un código de ejemplo que demuestra este proceso:

    import requests
    from bs4 import BeautifulSoup
    
    # especifica la URL de la página web
    url = 'https://brilliant.org/practice/computational-models-of-the-neuron/?p=2'
    
    # recupera el contenido HTML de la página web
    response = requests.get(url)
    
    # analiza el contenido HTML utilizando BeautifulSoup
    soup = BeautifulSoup(response.content, 'html.parser')
    
    # localiza el elemento HTML que contiene el texto del contenido del curso
    curso_contenido = soup.find('div', {'class': 'course-quiz-content'})
    
    # extrae el texto del elemento HTML
    texto_curso = curso_contenido.text.strip()
    
    # imprime el texto del contenido del curso
    print(texto_curso)
    

    Este código recupera el contenido HTML de la página web, lo analiza utilizando BeautifulSoup, localiza el elemento HTML que contiene el texto del contenido del curso y extrae el texto de ese elemento. El resultado final es el texto del contenido del curso sin ningún código superfluo.

Comments are closed.