Saltar al contenido

¿Cambiar el nombre de las imágenes descargadas en Scrapy 0.24 con contenido de un campo de elemento y evitar conflictos de nombre de archivo?

Siéntete en la libertad de compartir nuestra página y códigos con tus amigos, necesitamos de tu ayuda para ampliar nuestra comunidad.

Solución:

Las tuberías.py:

from scrapy.pipelines.images import ImagesPipeline
from scrapy.http import Request
from scrapy.exceptions import DropItem
from scrapy import log

class MyImagesPipeline(ImagesPipeline):

    #Name download version
    def file_path(self, request, response=None, info=None):
        image_guid = request.meta['model'][0]
        log.msg(image_guid, level=log.DEBUG)
        return 'full/%s' % (image_guid)

    #Name thumbnail version
    def thumb_path(self, request, thumb_id, response=None, info=None):
        image_guid = thumb_id + request.url.split('/')[-1]
        log.msg(image_guid, level=log.DEBUG)
        return 'thumbs/%s/%s.jpg' % (thumb_id, image_guid)

    def get_media_requests(self, item, info):
        yield Request(item['image_urls'][0], meta=item)

estas usando el settings.py equivocado. Deberías usar esto:

ITEM_PIPELINES = 'allenheath.pipelines.MyImagesPipeline': 1

Para que las miniaturas funcionen, agregue esto a settings.py:

IMAGES_THUMBS = 
    'small': (50, 50),
    'big': (100, 100),

valoraciones y reseñas

Si piensas que te ha sido de utilidad nuestro artículo, nos gustaría que lo compartas con otros juniors de esta forma nos ayudas a extender nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *