自製CSDN部落格評論郵件提醒

2021-09-02 19:37:30 字數 3451 閱讀 4445

拉黑,拉黑 !!!

自己搞乙個了。

上**:

# -*- coding:utf-8 -*-

import net

import re

import json

from emailclass import email_l

defrun()

:try

: reviewcount = readreviewcount(

) homeurl =

""homepage = net.getresponse(homeurl)

.encode(

'utf8'

).decode(

'utf8'

)#注意這個編碼問題

,homepage,re.s|re.m)

if reviewcountresult !=

none

: pagereviewcount = reviewcountresult.group(1)

else

: pagereviewcount = reviewcount

print reviewcount

print pagereviewcount

ifstr(reviewcount)

!=str

(pagereviewcount)

: writereviewcount(pagereviewcount)

content,username,posttime = getnewreviewdetail(homepage)

message =

""

+username+

":"

+content+""

+posttime

# 傳送提醒郵件

emailobj = email_l(

) emailobj.senemail(

["[email protected]"],

,"html"

,message)

except exception as e:

pass

defgetnewreviewdetail

(homepage)

:try

:# 獲取文章 id

newarticleidresult = re.search(r'class="newcomment-list".*?/article/details/(.*?)#comments">'

,homepage,re.s|re.m)

articleid = newarticleidresult.group(1)

reviewlisturl =

"/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 =

0for 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:

ifint

(sub[

"commentid"])

> commentid:

commentid = sub[

"commentid"

] content = sub[

"content"

] username = sub[

"username"

] posttime = sub[

"posttime"

]return content,username,posttime

except exception as e:

return

none

defreadreviewcount()

:try

:with

open

(r'./review_count'

,"r"

)as f:

reviewcount = f.read(

)except exception as e:

reviewcount =

0return reviewcount

defwritereviewcount

(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/******/***xx; python checkreview.py > checkreview.log 2>

&1 &

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

CSDN部落格排名

閒來無事,決定不時關注下部落格排名 2010 05 04 共8464次訪問,排名17127,好友 0人,關注者 0人 2010 05 07 共8484次訪問,排名17119,好友 0人,關注者 0人。2010 06 18 共8900次訪問,排名16782,好友 0人,關注者 2人。2010 08 1...

體驗CSDN部落格

第一次到csdn發部落格,之前只是自己做筆記,這次把之前做的學習筆記都發出來,雖然許多都是書上的內容,但是對於還是菜鳥的我來說還是需要注重積累。希望能在部落格裡和大家相互交流,共同進步。開始主要就是免殺和逆向的學習筆記,後面隨著自己學習的深入也會增加其他方面的東西。筆記確實是個很不錯的東西,自己看一...

CSDN部落格導讀

從大三開始寫部落格,寫到現在已經6年了。專業為通訊工程,從本科開始到現在經歷了各種各樣的專案。微控制器,嵌入式,fpga,通訊原理,數字訊號處理,機器學習ing,深度學習ing。之前的部落格請參考 部落格主要分為幾大部分 語言方面 c,c 應用方面 嵌入式,fpga,ucos 數學方面 矩陣分析 通...