CSDN 本身是有评论邮件提醒服务的。我知道,但是。。。。。。。。。。。
你们自己看吧。。。。

干啥啊?邮件轰炸机嘛??

拉黑,拉黑 !!!

自己搞一个了。

上代码:

# -*- coding:utf-8 -*-
import net
import re
import json
from EmailClass import Email_Ldef run():try:# 旧的评论数reviewCount = readReviewCount()# 获取网页上最新的评论数homeUrl = "https://blog.csdn.net/qq_28766327"homePage = net.getResponse(homeUrl).encode('utf8').decode('utf8') #注意这个编码问题reviewCountResult = re.search(u'<dt>评论</dt>.*?"count">(\d*?)</span>',homePage,re.S|re.M)if reviewCountResult != None:pageReviewCount = reviewCountResult.group(1)else:pageReviewCount = reviewCount# 如果网页上评论数比旧评论数多,证明有新评论print reviewCountprint pageReviewCountif str(reviewCount) != str(pageReviewCount):# 将新评论数记录下来writeReviewCount(pageReviewCount)# 获取评论信息content,userName,postTime = getNewReviewDetail(homePage)message = "<b>"+userName+":</b>"+content+"<br>"+postTime# 发送提醒邮件emailObj = Email_L()emailObj.senEmail(["1000000000@qq.com"],"【新博客评论】","html",message)except Exception as e:passdef getNewReviewDetail(homePage):try:# 获取文章 idnewArticleIdResult = re.search(r'class="newcomment-list".*?https://blog.csdn.net/qq_28766327/article/details/(.*?)#comments">',homePage,re.S|re.M)articleId = newArticleIdResult.group(1)# 根据文章ID获取评论列表reviewListUrl = "https://blog.csdn.net/qq_28766327/phoenix/comment/list/"+str(articleId)+"?page=1&size=15&tree_type=1"reviewDataString = net.getResponse(reviewListUrl)reviewData = json.loads(reviewDataString)lists = reviewData["data"]["list"]content = ""userName = ""postTime = ""commentId = 0# 找到最新一条评论for item in lists:info = item["info"]if int(info["CommentId"]) > commentId:commentId = info["CommentId"]content = info["Content"]userName = info["UserName"]postTime = info["PostTime"]if item.has_key("sub"):subArray = item["sub"]for sub in subArray:if int(sub["CommentId"]) > commentId:commentId = sub["CommentId"]content = sub["Content"]userName = sub["UserName"]postTime = sub["PostTime"]return content,userName,postTimeexcept Exception as e:return Nonedef readReviewCount():try:with open(r'./review_count',"r") as f:reviewCount = f.read()except Exception as e:reviewCount = 0return reviewCountdef writeReviewCount(reviewCount):with open(r'./review_count',"w") as f:f.write(str(reviewCount))if __name__ == "__main__":run()

备注:
1. net 模块是我用 requets 封装的网络请求工具,功能是在子线程中进行网络请求(我做另一个项目的时候发现,几十万次网络请求可能有一次会卡死进程)。这里它不重要,不要管他
2. EmailClass 是我封装的发送邮件的工具,这里它也不重要。不要管他。如果不知道怎么发邮件,可以看我的其他文章,我专门写了一篇

然后就是定时监测了,很简单 利用 linux的 crontab 一个定时任务搞定

30 9-21 * * * cd /home/xxxxxx/xxxxx; python checkReview.py > checkReview.log 2>&1 &

部署到我的树莓派上,完成

自制CSDN博客评论邮件提醒相关推荐

  1. 02 Hexo博客Butterfly主题配置博客评论邮件提醒

    概述 个人博客搭建成功后已经上线运行了好久,但是一直没有时间配置评论区的邮件提醒功能,所以今晚有时间就抽空配置了,然后将操作过程做一下记录. 前提条件 一个已经上线运行的Hexo博客(至于用什么主题都 ...

  2. 每天定时查询CSDN博客访问量,并通过echarts进行展示

    效果展示 Github链接:https://github.com/qushencn/springboot Csdn下载链接:https://download.csdn.net/download/wei ...

  3. 跟踪了下CSDN博客之星的竞选数据,我就看看不评论,你怎么看?

    实时统计:http://csdn.didispace.com/ 我就看看,不评论,你怎么看? 我也在竞选CSDN博客之星,支持我点下面 集合!随我一起搞台 Macbook Pro 如何? 朕已阅 

  4. 我的csdn博客所有的留言和评论我都不太想回复了

    常言道,林子大了,什么鸟都有! 我的csdn博客所有的留言和评论我都不太想回复了: 第1,懒得回复: 第2,不太想回复: 第3,我既不太想,又懒得回复,尤其是喷子.酸子,我特别反感和讨厌,牛人一般都是 ...

  5. Android应用开发-小巫CSDN博客客户端之获取评论列表

    Android应用开发-小巫CSDN博客客户端之获取评论列表 上一篇博客介绍了博文详细内容的业务逻辑实现,本篇博客介绍小巫CSDN博客客户端的最后一项功能,获取评论列表,这个功能的实现跟前面获取文章列 ...

  6. 布丁怪兽-csdn博客_证明在评论中-不是布丁

    布丁怪兽-csdn博客 According to 根据 Internet World Stats, there are 3,611,375,813 Internet users around the ...

  7. wordpress撰写模式_如何在WordPress中撰写好的博客评论并绕过垃圾邮件过滤器

    wordpress撰写模式 Have you ever thought about what makes a good blog comment? Want to know of a sure-fir ...

  8. 30行代码统计自己 CSDN 博客相关数据

    1. 编写目的 爬虫本身是一个非常简单的事情,都是由于业务需要才变得越来越复杂的.为了方便广大开发者,也有很多简单好用的爬虫框架,但这里不使用那些已经实现了的专用框架,也不能起到任何商业化的目的,只是 ...

  9. 让人失望透顶的 CSDN 博客改版

    前言 在 CSDN 写博已经 2 年有余,相比一些大佬,时间不算太长.但工作再忙,我也会保持每月产出,从未间断.每天上线回复评论,勘误内容,参加活动,看看阅读量已经成为一种习惯,可以说是 CSDN 博 ...

最新文章

  1. jittor和pytorch生成网络对比之wgan
  2. 算法------验证回文串
  3. mysql逗号分隔正则查询_正则表达式在逗号分隔的列表中查找字符串和下一个字符-MySQL?...
  4. 一个简单的Python调度器
  5. 网站转换APP源代码 WebAPP源代码 网站生成APP源代码 Flutter项目 带控制端
  6. timesten配置使用客户端连接timesten服务器
  7. Python之pip的安装和使用详细教程
  8. 鼠标模拟android,android_模拟鼠标指针demo
  9. 【vue笔记】页面跳转顺便传个值
  10. 深入理解Nginx 读书笔记
  11. 安全性、活跃性以及性能问题
  12. 育网云盘签约北京市大兴区黄村镇第一中心小学云端租赁服务
  13. Win32API大全
  14. MySql数据库版本查询
  15. mysql优化工具 MySQL Tuner
  16. 服务器ip显示未识别,Win7桌面右下角提示“未识别的网络”如何解决?
  17. 爬取了陈奕迅新歌《我们》10万条评论数据发现:原来,有些人只适合遇见
  18. 摄影初学者挑选相机的常见问题[转]_我是亲民_新浪博客
  19. 移动硬盘/U盘中的可执行文件打开时提示“Windows 无法访问指定设备、路径或文件。您可能没有合适的权限访问这个项目。”
  20. 星际争霸1没背景音乐的解决办法

热门文章

  1. Py之re:re正则表达式库的简介、常用函数、经典案例之详细攻略
  2. 一文读懂QEMU虚拟机
  3. Anaconda多环境多版本python配置指导
  4. errno_t open_s()打开文件出现的错误分析
  5. 子串字谜substring anagrams
  6. Python学习路程day20
  7. 椭圆曲线加密算法(ECC)原理和C++实现源码(摘录)
  8. STM32使用串口IDLE中断的两种接收不定长数据的方式
  9. C++ Primer 5th笔记(chap 17 标准库特殊设施)smatch
  10. 以太坊知识教程------智能合约(1)基本概念