Как отправить файл ScrapyFileLogObserver на мою электронную почту

Я хочу отправить электронное письмо самому себе, когда паук закроется
Я смотрю этот источник и я могу получить почту. Но я обнаружил, что он напишет 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() для записи в файл. После запуска паука я открываю его, чтобы проверить, не ошибся ли я. Интересно, могу ли я отправить этот файл на свою электронную почту или просто «текст» в файле

Может ли кто-нибудь научить меня, как это сделать? Спасибо.


person user2492364    schedule 28.08.2014    source источник


Ответы (1)