Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Listas vacias

Hola, aqui

soup.findAll('img', {'class':"lazy-load"})

me regresa una lista vacía y

[item.get('src') for item in soup.findAll('img')]

ahí me llega:

 " 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'" 

repetido como 50 veces

en

soup.findAll('img', {'class':"lazy-load"})

y

soup.findAll('img',class_='loading') 

igual me da listas vacías, no se que podría estar causandolo

1 respuesta
solución!

Buenas Daniel! ¿Todo bien? Espero que sí.

Solamente algunas correcciones:

En la línea


soup.findAll('img', {'class':"lazy-load"})

Lo correcto és usar:


soup.find_all('img', class_='lazy-loadable')

Lo que paso és que el site cambió el nombre de la classe de 'lazy-load' a 'lazy loadable'. Este tipo de cambio es algo común cuando trabajamos com web scrapping.

Un otro punto és el uso de 'findAll()' y 'find_all()', en el cual el segundo és considerado una buena práctica.

Para ver la lista de imágenes, el comando get debe ser así:


imgs = [item.get('data-src') for item in soup.find_all('img', class_='lazy-loadable')]

Ahora, para mostrar todas las imágenes, debe utilizar el seguiente código:


from IPython.core.display import display, HTML

for img in imagens:

display(HTML("<img src=" + img + ">"))
Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios