1.在settings.py中定义设置图片存储目录
IMAGES_STORE = 'D:\ImageSpider'
2.有两种方法修改文件名:
A . 在pipelines.py中,重写file_path即可,这样存储的文件路 径就类似这样: D:\ImageSpider\*.jpg
class ImagespiderPipeline(ImagesPipeline):
def file_path(self, request, response=None, info=None):
# 重命名,若不重写这函数,图片名为哈希,就是一串乱七八糟的名字
image_guid = request.url.split('/')[-1] # 提取url前面名称作为图片名。
return image_guid
B. 还一种改法: 在里面重写 item_completed函数. 把默认的存储文件名字改成自己想要的,然后重新保存一个新的路径:# #重命名文件,并把默认路径D:\ImageSpiderfull图片
#修改为D:\ImageSpider\.jpg,提取item[‘imgurl’]中url前面名称作为图片名,功能上类似file_path
def item_completed(self, results, item, info):
image_path = [x["path"] for ok, x in results if ok]
for i in range(len(image_path)):
os.rename(images_store+'/'+image_path[i],images_store+'/'+item['imgurl'][i].split('/')[-1])