Python 如何更改保存图像的目录,scrapy
我正在从网页上抓取图像。 我有几个图像列表:Python 如何更改保存图像的目录,scrapy,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我正在从网页上抓取图像。 我有几个图像列表: list_1,list_2,list_3 这些列表中的每一个都对应于不同的类别,到目前为止,所有图像都保存在同一个目录中,即设置文件中指定的目录 IMAGES_STORE = '/home/user/Desktop/folder1/folder2' 我想将每个列表中的图像保存在不同的forder中。这已得到回答,并已完成 基本上覆盖item_completed方法,并根据图像来自哪个列表,包含您希望将图像保存到哪里的逻辑 def item_co
list_1,list_2,list_3
这些列表中的每一个都对应于不同的类别,到目前为止,所有图像都保存在同一个目录中,即设置文件中指定的目录
IMAGES_STORE = '/home/user/Desktop/folder1/folder2'
我想将每个列表中的图像保存在不同的forder中。这已得到回答,并已完成
基本上覆盖item_completed方法,并根据图像来自哪个列表,包含您希望将图像保存到哪里的逻辑
def item_completed(self, results, item, info):
for result in [x for ok, x in results if ok]:
path = result['path']
slug = slugify(item['designer'])
settings = get_project_settings()
storage = settings.get('IMAGES_STORE')
target_path = os.path.join(storage, slug, os.path.basename(path))
path = os.path.join(storage, path)
# If path doesn't exist, it will be created
if not os.path.exists(os.path.join(storage, slug)):
os.makedirs(os.path.join(storage, slug))
if not os.rename(path, target_path):
raise DropItem("Could not move image to target folder")
if self.IMAGES_RESULT_FIELD in item.fields:
item[self.IMAGES_RESULT_FIELD] = [x for ok, x in results if ok]
return item