Python寫的CSDN資訊推送小助手

來源:互聯網
上載者:User

標籤:注釋   帳戶   .text   timeout   service   fonts   簽名   length   lis   

轉載請註明出處: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的形式,融合自己之前做的一個部落格統計分析系統,使之前的產品更加完善,而且會逐步封裝成Google瀏覽的外掛程式形式,供大家使用方便

部落格統計分析系統git地址:https://github.com/Thinkgamer/BlogAnalysic

代碼結構


說明:

  • 這裡並沒有採用資料庫儲存,而是直接寫進csv檔案,後續會更新
  • 這裡對每篇文章的資料也做瞭解析,只不過暫時注釋了,沒有進行推送,因為還沒想好合適的方式
涉及的技術

目前涉及:

  • python 爬蟲
  • python 發送email
主要代碼

別的代碼都比較爛,這裡主要說一下python發送email樣本

#-*-coding:utf-8-*-import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerdef send_email():    message = "test"    # 第三方 SMTP 服務,我這裡設定的是網易163郵箱    mail_host = "smtp.163.com"  # 設定伺服器    mail_user = "[email protected]"  # 使用者名稱    mail_pass = "xxxxxxxxxxx"  # 密碼    sender = "[email protected]"    receive="[email protected]"    # 三個參數:第一個為常值內容,第二個 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

Google了好久,也沒有找到解決辦法,於是乎就換成163郵箱來接受了,當然如果你看了這篇文章,你也解決了這個辦法,那麼請留言告訴我,謝謝

來一張我郵箱接受到的郵件的吧


如果你對這個代碼感興趣的話,或者你也想接受這個資訊推送的話,留下的163郵箱吧,因為別的我怕發不出去(代碼地址:點擊查看)~~~~

補充內容:python傳送簡訊

使用互億無線簡訊介面傳送簡訊,只不過他是收費的,但是有30條的測試

註冊一個帳號,將代碼中的使用者名稱和密碼換成你自己的即可,另外我這裡使用的是python3.4,官網上給的python範例代碼時2.7,直接運行不好使,需要修改一些小地方,代碼如下:

#-*- coding:utf-8 -*-import http.clientimport urllib.requesthost  = "106.ihuyi.com"sms_send_uri = "/webservice/sms.php?method=Submit"#使用者名稱是登入ihuyi.com帳號名(例如:cf_demo123)account  = "xxxxx"#密碼 查看密碼請登入使用者中心->驗證碼、通知簡訊->帳戶及簽章設定->APIKEYpassword = "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_strif __name__ == ‘__main__‘:    mobile = "171xxxx1234"    text = "您的驗證碼是:121254。請不要把驗證碼泄露給其他人。"    print(send_sms(text, mobile))

手機收到的簡訊如下:

個人公眾號,歡迎關注

Python寫的CSDN資訊推送小助手

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.