我想在蜘蛛关闭时将图像上传到s3,
我的方法现在是发送mongodb中的所有图像:upload_s3(ShA.objects.all())
但是我想编辑它以将图像发送到此次scrapy下载。
我需要将变量sh.images
从def process_item()发送到def close_spider(),让mongo过滤此次scrapy抓取的项目
如何编辑以达到它?
这是我的管道:
from mongo.models import ShA
from uploads3 import upload_s3
class ShPipeline(object):
def process_item(self, item, spider):
if isinstance(item, ShaItem):
sh = item.save(commit=False)
sh_exist = ShA.objects.filter(link=sh.link)
if sh_exist:
sh.id = sh_exist[0].id
sh.save()
#sh.images
return item
def close_spider(self, spider,item):
if spider.name == "email":
upload_s3(ShA.objects.all())
#upload_s3(ShA.objects.get(images=sh.images)) no use,need to get sh.images from def process_item