Scrapy项目完成后通过电子邮件发送

时间:2014-11-10 20:58:16

标签: scrapy

所以我在文档中重新阅读了这个page,并且仍然无法掌握项目中应该插入这些行的哪些文件?

from scrapy.mail import MailSender
mailer = MailSender()

mailer.send(to=["someone@example.com"], subject="Some subject", body="Some body", cc=["another@example.com"])

1 个答案:

答案 0 :(得分:0)

# ...
from scrapy.mail import MailSender
# ...
class MailSpider(Spider):
    # ...
    @classmethod
    def from_crawler(cls, crawler):
        spider = cls()
        spider.mailer = MailSender()
        crawler.signals.connect(spider.spider_closed, signals.spider_closed)
        return spider

    def spider_closed(self, spider):
        spider.mailer.send(to=["someone@example.com"], subject="Some subject", body="Some body", cc=["another@example.com"])
    # ...

你可以使用这样的信号在蜘蛛关闭后发送电子邮件。但我不确定这是否是最佳方式。

另外我相信你可以在任何允许python代码的地方发送电子邮件。

相关问题