Python - Python - Web Scraping No captura

 
Vista:
sin imagen de perfil

Python - Web Scraping No captura

Publicado por Daniel (1 intervención) el 16/12/2022 14:52:27
Hola, ya he hecho scraping en otras webs pero en esta no me sale.

No me captura el nombre de los campeones enlistados. T T

https://www.leagueofgraphs.com/es/champions/builds/jungle/by-champion-name

------------------------------------------------------------------------------------------------------------------------------

from bs4 import BeautifulSoup
import requests
import pandas as pd

url = 'https://www.leagueofgraphs.com/es/champions/builds/jungle/by-champion-name'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')

#Equipos

eq = soup.find_all('span', class_ = 'name')

print(eq)

------------------------------------------------------------------------------------------------------------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil

Python - Web Scraping No captura

Publicado por Dio (25 intervenciones) el 16/12/2022 16:10:30
Creo que es porque la web de lol utiliza JavaScript para cargar los datos y por eso no te deja recuperar los datos de forma normal utilizando Requests y BeautifulSoup prodrias usar la librería Selenium para que capture los datos seria asi el codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from bs4 import BeautifulSoup
from selenium import webdriver
 
# Iniciar el navegador con la página web que queremos analizar
driver = webdriver.Firefox()
driver.get('https://www.leagueofgraphs.com/es/champions/builds/jungle/by-champion-name')
 
# Esperar a que se carguen todos los datos de los campeones
driver.implicitly_wait(10)
 
# Obtener el HTML de la página web
html = driver.page_source
 
# Cerrar el navegador
driver.close()
 
# Analizar el HTML con BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
 
# Encuentra todos los elementos con la clase 'name'
campeones = soup.find_all('span', class_='name')
 
# Imprimir los nombres de los campeones
for campeon in campeones:
    print(campeon.text)
Recuerda tener firefox instalado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Python - Web Scraping No captura

Publicado por Daniel (8 intervenciones) el 19/12/2022 16:31:30
Thanks. ^^ Realmente eres el Rey de Reyes.jpg
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar