如何将ScrapyFileLogObserver文件发送到我的emai

2024-04-20 04:57:55 发布

您现在位置:Python中文网/ 问答频道 /正文

当spider关闭时,我想给自己发一封电子邮件
我看这个source,我可以收到邮件。但是我发现当spider出错时它会写failure.getTraceback()

部分源代码:

def spider_error(self, failure, response, spider):
    self.files[spider.name + '.log'].write(failure.getTraceback())
    self.num_errors += 1

但我想让它把控制台日志发送到我的电子邮件中,如下所示:

^{pr2}$

我需要这个日志,因为如果我得到WARNING: can't find the images!: http://www.example.com,我可以运行另一个spider来获取丢失的图像

现在我的方法是使用ScrapyFileLogObserver(open("spider.log", 'w'), level=log.INFO).start()在文件。之后运行蜘蛛,我打开它检查是否有错误。我想知道我是否可以把这个文件发送到我的电子邮件或只是文件中的'文本'

有人能教我怎么做吗?非常感谢。在


Tags: 文件nameselflogsourcefailure源代码电子邮件
1条回答
网友
1楼 · 发布于 2024-04-20 04:57:55

有两个设置可以用来保存文件:^{}LOG_LEVEL;这2个设置还有一个命令行参数 logfile=FILE loglevel=LEVEL, -L LEVEL。在

现在为了发送电子邮件,StatsMailer使用了一个助手,名为^{}。为了使用这个助手,您必须使用创建SMTP连接所需的所有信息实例化,send方法接受发送电子邮件所需的所有信息。在方法send上,您将找到参数attachs,它是一个包含3个元素的元组((<name>, <mime_type>, <file instance>), )。在

相关问题 更多 >