我是Python和Scrapy的新手。
我要做的就是仅使用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
答案 0 :(得分:1)
问题是我直接从我的IDE (Pycharm)运行脚本。
要在IDE中运行Spider,而无需使用终端,则可以以编程方式调用命令。
Scrapy具有一个允许执行此操作的模块:
from scrapy import cmdline
cmdline.execute("scrapy crawl <spider_name>".split())
草率的电子邮件库就像一个魅力!