关闭

Python写的CSDN信息推送小助手

标签: pythoncsdn爬虫
4037人阅读 评论(6) 收藏 举报
分类:


这里写图片描述
打开微信扫一扫,关注微信公众号【数据与算法联盟】

转载请注明出处:http://blog.csdn.net/gamer_gyt
博主微博:http://weibo.com/234654758
Github:https://github.com/thinkgamer


前言

这几天突然萌生了一个想法:自己写个python程序,定时查询一下自己的CSDN博客的一些信息,并以邮件的形式推送给自己,那么废话不多说,现在已经把基本功能给实现了,每天可以定时发送访问量,积分,排名,同时会比较前一天的数据,形成对比,呈现给自己,这样就能一目了然的看到自己每天博客的PV增加数目了,如果你感兴趣,拿去玩吧

本文永久地址:http://blog.csdn.net/gamer_gyt/article/details/53823842


内容包括

由于是第一版,实现的功能比较简单,只是发送自己博客的PV,积分,排名,原创文章数,转载文章数,翻译文章数,评论条数和同比前一天的增长数量

后续计划:封装成web的形式,融合自己之前做的一个博客统计分析系统,使之前的产品更加完善,而且会逐步封装成谷歌浏览的插件形式,供大家使用方便

博客统计分析系统git地址:https://github.com/Thinkgamer/BlogAnalysic


代码结构

这里写图片描述

说明:

  • 这里并没有采用数据库存储,而是直接写进csv文件,后续会更新
  • 这里对每篇文章的数据也做了解析,只不过暂时注释了,没有进行推送,因为还没想好合适的方式

涉及的技术

目前涉及:

  • python 爬虫
  • python 发送email

主要代码

别的代码都比较烂,这里主要说一下python发送email示例

#-*-coding:utf-8-*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_email():
    message = "test"
    # 第三方 SMTP 服务,我这里设置的是网易163邮箱
    mail_host = "smtp.163.com"  # 设置服务器
    mail_user = "thinkgamer@163.com"  # 用户名
    mail_pass = "xxxxxxxxxxx"  # 密码

    sender = "thinkgamer@163.com"
    receive="thinkgamer@163.com"

    # 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
    message = MIMEText(message, 'plain', 'utf-8')
    message['From'] = Header(sender, 'utf-8')
    message['To'] =  Header(receive, 'utf-8')

    subject = 'CSDN博客访问信息统计'
    message['Subject'] = Header(subject, 'utf-8')

    try:
        smtpObj = smtplib.SMTP()
        smtpObj.connect(mail_host, 25)    # 25 为 SMTP 端口号
        smtpObj.login(mail_user,mail_pass)
        smtpObj.sendmail(sender, receive, message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException as e:
        print("Error: 无法发送邮件")

说明:我这里的发送邮箱和接收邮箱都是我的163邮箱,原因是我刚开始测试的是QQ邮箱接受,但是万恶的网易把这个邮件当成垃圾邮件,发送不出去,会提示:

(554, b'DT:SPM 163 smtp9,DcCowABXdex2kFtYogSVEQ....

提示的url只指向:http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html

谷歌了好久,也没有找到解决办法,于是乎就换成163邮箱来接受了,当然如果你看了这篇文章,你也解决了这个办法,那么请留言告诉我,谢谢


效果图

来一张我邮箱接受到的邮件的效果图吧

列表内容

如果你对这个代码感兴趣的话,或者你也想接受这个信息推送的话,留下的163邮箱吧,因为别的我怕发不出去(代码地址:点击查看)~~~~


补充内容:python发送短信

使用互亿无线的短信接口发送短信,只不过他是收费的,但是有30条的测试

注册一个账号,将代码中的用户名和密码换成你自己的即可,另外我这里使用的是python3.4,官网上给的python样例代码时2.7,直接运行不好使,需要修改一些小地方,代码如下:

#-*- coding:utf-8 -*-
import http.client
import urllib.request

host  = "106.ihuyi.com"
sms_send_uri = "/webservice/sms.php?method=Submit"

#用户名是登录ihuyi.com账号名(例如:cf_demo123)
account  = "xxxxx"
#密码 查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEY
password = "xxxxxx"

def send_sms(text, mobile):
    params = urllib.parse.urlencode({'account': account, 'password' : password, 'content': text, 'mobile':mobile,'format':'json' })
    headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
    conn = http.client.HTTPConnection(host, port=80, timeout=30)
    conn.request("POST", sms_send_uri, params, headers)
    response = conn.getresponse()
    response_str = response.read()
    conn.close()
    return response_str

if __name__ == '__main__':

    mobile = "171xxxx1234"
    text = "您的验证码是:121254。请不要把验证码泄露给其他人。"

    print(send_sms(text, mobile))

手机收到的短信如下:
这里写图片描述


个人微信公众号,欢迎关注

这里写图片描述

3
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

DIY个人智能家庭网关——python篇之推送消息到手机

《使用第三方推送平台JPUSH推送消息到android手机》文章里测试消息推送是在页面上执行的,而现在我需要从路由器上把消息推送出去,打开Jpush API文档,有curl示例命令 参照示例...
  • luotong86
  • luotong86
  • 2017-02-26 22:20
  • 1028

Python爬取知乎日报,推送到kindle

最近刷知乎上瘾,刚好手头有一台kindle,搞一波事情。1.分析页面知乎日报 的网页端结果比较清晰,每篇的文章的链接都在 link-button  这个 a 标签中。用requests + Beaut...
  • minose
  • minose
  • 2017-09-12 21:39
  • 366

python实现南大教务处通知更新进行自动推送

这是一个简易的南京大学教务处公告更新自动推送系统,其基于python+mysql,通过邮件来进行推送,还有很多功能待完善,目前代码写得还很烂>_ #coding=utf-8 import urllib...
  • imjtrszy
  • imjtrszy
  • 2015-07-31 20:44
  • 1656

Python+Django开发微信公众号验证通过但微信推送信息接收不到的问题解答

先说明问题,再说下解决的过程,最后说下解决的方法。其实很简单,但是排查很恶心,可以直接看最后的解决方案。 问题:我使用:Apache:2.4.7 Ubuntu:12.04 Python:2.7.6...
  • laven90
  • laven90
  • 2015-02-27 14:40
  • 1999

极光推送Python简化版

激光推送官方的Python-sdk一大堆麻烦的东西都用不到,还要在机器上装模块,蛋疼 实际上就一个http-post请求就能解决大部分问题的东西,v2,v3api都以简化,可以直接拿去用,不谢
  • swg0110
  • swg0110
  • 2015-01-03 00:36
  • 1550

使用kafkapython读取实时数据小例子

使用kafkapython读取实时数据小例子 from kafka import KafkaConsumer from kafka.client import KafkaClient imp...
  • zhidao_wenge
  • zhidao_wenge
  • 2017-04-10 21:59
  • 2431

Python 实现股票数据的实时抓取

**最近捣鼓股票的东西,想看看股票的实时涨跌信息,又不想去看网上炒股软件现有的信息,所以寻思着自己写了一个Python的股票当前价格抓取工具,废话不多说,上代码:** 一
  • u010691898
  • u010691898
  • 2015-03-16 14:41
  • 21338

Python数据挖掘实例(实时更新)

数据挖掘
  • yu123zi123lin123
  • yu123zi123lin123
  • 2017-08-15 12:29
  • 411

Python写的CSDN信息推送小助手

打开微信扫一扫,关注微信公众号【数据与算法联盟】 转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758...
  • Gamer_gyt
  • Gamer_gyt
  • 2016-12-23 00:44
  • 4037

用python给微信公众号发消息

现在通过发微信公众号信息来做消息通知和告警已经很普遍了。最常见的就是运维通过zabbix调用shell脚本给微信发消息,起到告警的作用。当要发送的信息较多,而且希望按照指定格式显示的好看一点的时候,s...
  • felix_yujing
  • felix_yujing
  • 2016-08-02 16:12
  • 4600
    Thinkgamer微博
    微信公众号【数据与算法联盟】

    扫码关注公众号,获取小编微信拉你进数据算法大佬群!
    个人资料
    • 访问:994157次
    • 积分:11213
    • 等级:
    • 排名:第1630名
    • 原创:221篇
    • 转载:22篇
    • 译文:2篇
    • 评论:331条
    个人简介
    姓名:Thinkgamer

    Github:https://github.com/thinkgamer

    主攻:云计算/python/数据分析

    程度:熟悉/熟悉/熟悉

    微信:gyt13342445911

    Email:thinkgamer@163.com

    工作状态:在职ing

    心灵鸡汤:只要努力,你就是下一个大牛...

    hadoop/spark/机器学习群:279807394(大神建的群,蹭个管理员)

    欢迎骚扰........
    博客专栏
    最新评论