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 extraer la fuente si está anidada dentro de la etiqueta source dentro del video a través de Python Selenium y Beautiful Soup.

Estaba raspando un sitio web de anime como un proyecto pero cuando intenté raspar el src me dio un error. El src está anidado dentro de la etiqueta source. Estoy dando la captura de pantalla y el código a continuación.

Captura de pantalla de ejemplo:

View post on imgur.com

Código:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import re
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

URL de lanzamiento

url = “https://bestdubbedanime.com/Demon-Slayer-Kimetsu-no-Yaiba/26”

Crear una nueva sesión de Firefox

driver = webdriver.Firefox()

driver.implicitly_wait(30)

driver.get(url)

python_button = driver.find_element_by_class_name(‘playostki’) #FHSU

python_button.click() #click fhsu link

soup1 = BeautifulSoup(driver.page_source, ‘html.parser’)

video = soup1.find(‘video’, id=’my_video_1_html5_api’)

video = driver.find_element_by_id(‘my_video_1_html5_api’)

WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, “.playostki”))).click()
driver.stop_client
driver.close
driver.quit

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándonos en el código y la captura de pantalla proporcionados, parece como si estuvieras intentando extraer el atributo src de una etiqueta source dentro de un elemento video. Sin embargo, parece que no estás accediendo al atributo src y en su lugar estás intentando localizar un elemento con el id de my_video_1_html5_api (que está dentro de la etiqueta source).

    Para acceder correctamente al atributo src de la etiqueta source, puedes modificar el código de la siguiente manera:

    soup1 = BeautifulSoup(driver.page_source, 'html.parser')
    video = soup1.find('video', id='my_video_1_html5_api')
    source = video.find('source')
    src = source['src']
    

    Aquí, primero localizamos el elemento video con el id de my_video_1_html5_api. Luego, utilizamos find para localizar el primer elemento source dentro del elemento video. Finalmente, accedemos al atributo src del elemento source utilizando corchetes ([]) y pasando la cadena 'src'.

    Esto debería permitirte extraer correctamente el atributo src de la etiqueta source.

Comments are closed.