我想在蜘蛛关闭时给自己发送一封电子邮件,
我查看了这个来源,我可以收到邮件。但是我发现failure.getTraceback()
当蜘蛛出错时它会写
部分源代码:
def spider_error(self, failure, response, spider):
self.files[spider.name + '.log'].write(failure.getTraceback())
self.num_errors += 1
但我想让它可以像这样将控制台日志发送到我的电子邮件:
2014-08-28 00:30:33+0000 [scrapy] INFO: Scrapy 0.24.2 started (bot: shopping)
2014-08-28 00:30:33+0000 [scrapy] INFO: Optional features available: ssl, http11, boto, django
2014-08-28 00:30:34+0000 [scrapy] WARNING: can't find the images!: http://www.example.com
2014-08-28 00:30:34+0000 [email] ERROR: Spider error processing <GET http://www.example.com
我需要这个日志,因为如果我得到了WARNING: can't find the images!: http://www.example.com
,我可以运行另一个蜘蛛来获取丢失的图像
现在我的方法是使用ScrapyFileLogObserver(open("spider.log", 'w'), level=log.INFO).start()
写入文件。运行蜘蛛后,我打开它以检查是否有问题。我想知道我是否可以将此文件发送到我的电子邮件或只是文件中的“文本”
有人可以教我如何做到这一点吗?谢谢你。