Scrapy发送邮件:
代码很简单,只需要三句:
from scrapy.mail import MailSender
mailer = MailSender(smtphost='smtp.qq.com', mailfrom='xxx@qq.com', smtpuser='xxx@qq.com',smtppass='校验码', smtpport=587)
mailer.send(to=["xxx@xx.com"], subject="title", body="body",)
三行代码有这么多坑:
1.在用MailSender定义mailer的时候一定需要后面跟参数(官方文档后面没跟所以一直在报积极拒绝,无法连接),我这个是亲测有效的,拿着把自己的改改就行
2.smtp.qq.com默认可以用俩端口,一个是465一个是587,这里我发现465不能用只能用587…(我之前用都没想到,排查了好久错误)
走pipelines的条件:
spider走pipelines的条件有俩:
1.在spider文件中必须返回一个item
2.在settings里一定要设置使用的pipeline