作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在蜘蛛关闭的时候上传图片到s3,
我现在的方法是在 mongodb 中发送所有图像:upload_s3(ShA.objects.all())
但是这次我想编辑它以发送 scrapy 下载的图像。
我需要将 def process_item() 中的变量 sh.images
发送到 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
最佳答案
你可以简单地使用self
,但我真的建议你使用our pipeline .
关于python - 如何使用scrapy下载图片然后上传到s3服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25756433/
我是一名优秀的程序员,十分优秀!