from scrapy.mail import MailSender from scrapy.conf import settings class StatsMailer(object): name = 'StatsMailer' def close_spider(self, spider): mailer = MailSender.from_settings(settings) to = [settings.get('MAIL_FROM')] subject = 'Parser name:{} finished'.format(spider.name) body = subject + ':\n\n' body += '\n'.join(['{}: {}'.format(k, v) for k, v in spider.crawler.stats.get_stats().items()]) return mailer.send(to=to, subject=subject, body=body)