未渎消息邮件通知的功能


最近迷上爬虫了,想写一个爬虫+关键词分析的小项目,我想在项目中加入如果某关键词在爬的网站中被收录后,发邮件通知我,这种功能该怎么实现呢?爬虫用的scrapy直接写数据进数据库,不经过Django处理。Django只负责网站部分,那么怎么由Django在获取新的关键词数据后 ,发送邮件呢?(似乎难点在于django定时监测数据并判断是否为新数据)。

各位能否给提供一点思路?

  • 7 条回复 | 2 人参与
  • 不妨使用 Django 的 ORM 来保存数据,这样每当调用 save 方法保存数据时就可以检测 post_save 信号,在这个信号里发送邮件即可。不知道楼主说的是不是这个意思?

  • @追梦人物 是这个意思 不过爬虫用的Scrapy框架,似乎没法用django的orm来数据保存呀 或者django有没有办法定期检查数据库某个字段的值?

  • @cheng8984 应该可以的吧,定制一下 scrapy 的保存数据方法,用 django 来存。或者仿照 django 的信号机制,每保存一次数据返回一个成功标志。不过没保存一条发一封通知你的邮箱会不会爆掉?

  • @追梦人物 我大概思考了下,也许我的这个东西可以换一种思路,我这个对实时性要求并不高,那么我在存储的时候把需要推送的数据某字段设置个值,然后django这边做定时任务,写一个查询函数每5分钟 查一次符合条件的推送并把值改回默认

  • @cheng8984 对,这种需求解决方案应该很多。你在爬什么站?我想给社区添加一个 python 文章版块,爬取一些 python 文章,到时候请你做技术指导呀。

  • @追梦人物 爬个本地论坛,这个我也是刚接触Scrapy这个框架,想快速学会肯定要直接上项目呀,所以定个小目标,把这个论坛数据爬下来,做定点关键词监控,曝光本地丑闻新闻什么的.....哈哈

  • 我明白了,有意思。就是一旦监控到感兴趣的关键词就邮件推送。加一个标记字段的解决方案我认为挺不错的。@cheng8984

添加一条新回复
登录 或者 注册 后发表回复