代码之家  ›  专栏  ›  技术社区  ›  Soutzikevich

无法使用Python中的Scrapy(1.5.1)发送电子邮件

  •  2
  • Soutzikevich  · 技术社区  · 8 年前

    我对Python和Scrapy还不熟悉。

    我读过这本书 documentation 从创作者的网页,我一定是错过了什么,但我不能完全把我的手指上。

    from scrapy import mail
    
    mailer = mail.MailSender(smtphost='smtp-mail.outlook.com',
                             mailfrom='someone@hotmail.com',
                             smtpuser='someone@hotmail.com',
                             smtppass='mypassword',
                             smtpport=587,
                             smtptls=True,
                             )
    
    
    def send_mail(mail_sender):
    return mail_sender.send(to=["receiver@hotmail.com"],
                            subject="Hello",
                            body="Hello receiver",
                            mimetype='text/plain')
    
    
    send_mail(mailer)
    

    更新:我正在用pycharm运行这个脚本,而不是使用 scrapy.cmdline . 这和为什么我的代码不能工作有什么关系吗?

    这是我得到的结果:

    Process finished with exit code 0
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Soutzikevich    7 年前

    (皮查姆)

    要从IDE运行spider而不使用终端,可以通过编程方式调用命令。

    Scrapy有一个模块,允许执行以下操作:

    from scrapy import cmdline
    
    cmdline.execute("scrapy crawl <spider_name>".split())
    

    垃圾电子邮件库就像一个魅力!