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.

Rastreo web en Python de imágenes jpg ocultas que no logro descargar desde este sitio web.

Hola, he estado intentando todo el día encontrar una manera de descargar algunas imágenes de esta URL: https://omgcheckitout.com/these-trypophobia-photos-will pero cuando corro este código, siempre obtengo solo las URLs de las imágenes pequeñas en la esquina y no las encontradas en el artículo. (También he intentado otras maneras pero siempre obtengo el mismo resultado)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para descargar solo las imágenes encontradas en el artículo y no las de las esquinas, es necesario especificar un selector más específico para su método find_all.

    Una posible solución es utilizar el nombre de la clase del div que contiene las imágenes en el artículo:

    import requests
    from bs4 import BeautifulSoup as bs
    
    url = 'https://omgcheckitout.com/these-trypophobia-photos-will'
    
    r = requests.get(url)
    soup = bs(r.text, 'html.parser')
    
    images = soup.select('div.entry-content img')
    
    for image in images:
        image_url = image['src']
        filename = image_url.split('/')[-1]
        with open(filename, 'wb') as f:
            f.write(requests.get(image_url).content)
    

    Este código selecciona todas las etiquetas img que están dentro de una etiqueta div con class="entry-content". Luego, extrae el atributo src de cada imagen y lo utiliza para descargar la imagen al directorio actual.

    Tenga en cuenta que también extraemos el nombre de archivo de la URL de la imagen y lo usamos como el nombre del archivo descargado. Esto evita conflictos de nombres si hay varias imágenes con el mismo nombre.

Comments are closed.