当Scrapy项目完成时发送电子邮件

当Scrapy项目完成时发送电子邮件,scrapy,Scrapy,所以我在文档中重新阅读了这些内容,但仍然无法理解我应该在项目中的哪些文件中插入这些行 from scrapy.mail import MailSender mailer = MailSender() mailer.send(to=["someone@example.com"], subject="Some subject", body="Some body", cc=["another@example.com"]) 您可以在爬行器关闭后使用类似这样的信号发送电子邮件。但我不确定这是否是最好的

所以我在文档中重新阅读了这些内容,但仍然无法理解我应该在项目中的哪些文件中插入这些行

from scrapy.mail import MailSender
mailer = MailSender()

mailer.send(to=["someone@example.com"], subject="Some subject", body="Some body", cc=["another@example.com"])
您可以在爬行器关闭后使用类似这样的信号发送电子邮件。但我不确定这是否是最好的方法

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

# ...
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"])
    # ...