利用周六周日兩天的時間我構建了一個python的訂閱系統(tǒng)。
項目開源地址
https://github.com/ppmoon/rlkm
初衷
為什么會想起來寫這么個程序慰毅?
基于兩點
一赋铝、我知道你們肯定和我一樣痕貌,每天接受的信息太多了炊豪,所以我希望通過一個系統(tǒng)和一個簡單的應用每天定時向我推送我想要的信息。
二枪萄、手機上安裝了很多應用,推送的消息都好煩猫妙,有些信息跟我鳥關系沒有瓷翻,但是那些應用還是給我推送這些消息,比如澳門賭場啊割坠,護士妹妹23歲單身什么的齐帚。你單身和我有什么關系?要知道閱讀就總是會浪費時間的彼哼,所以通過這個系統(tǒng)我希望把我手機上的應用統(tǒng)統(tǒng)卸載掉对妄。然后通過郵件來接受我想要的信息。這樣我就可以給我的asha310再買塊電池敢朱,然后放棄智能手機剪菱。
程序
需求與思路
為了解決上面兩個問題我想了一個非常簡單的辦法,就是用程序去抓取和過濾我想要知道和了解的消息拴签,這部分內容我想通過機器學習的辦法慢慢的矯正我想知道的信息孝常。(就是說我每天應該知道啥完全交給硅基生命了)然后將這些消息通過email的方式發(fā)送給我,我每天就看一封郵件就看可以了蚓哩,其他時間就在現(xiàn)實世界里專注眼下的事情茫因,就算發(fā)呆我也覺得比盯著手機要好。
程序設計
我們自頂向下分步進行設計
1.構建一個計劃任務引擎
2.讓引擎調用一個發(fā)送email的程序
3.email從一個內容合成器里來獲取email將要發(fā)送的內容杖剪。
4.內容合成器從內容抓取與過濾工廠獲取內容冻押。
根據(jù)以上步驟依次實現(xiàn)就可以了。代碼部分參考項目庫https://github.com/ppmoon/rlkm
這里就不詳細贅述實現(xiàn)細節(jié)了盛嘿,很多內容都是可以百度的洛巢,谷歌都不用。
注意點
1.實現(xiàn)計劃任務引擎的時候次兆,我使用了一個死循環(huán)讓程序不停的去監(jiān)聽時間稿茉,是否和我設置的時間相等,相等就執(zhí)行發(fā)送email的程序。
2.構建郵件發(fā)送程序的時候我使用了SMTP漓库,自己搭建郵件服務器會有很多坑恃慧,這里要注意,要是發(fā)送失敗很多時候是郵件服務器以為你是垃圾郵件渺蒿,所以收件人痢士,發(fā)件人,標題茂装,內容這四個信息一定要全面怠蹂。而且每次內容不要重復。
下一步
現(xiàn)在這個小程序只能定時給我發(fā)送天氣情況
比如北京天氣實時的JSON數(shù)據(jù)少态,我是比較懶還沒有解析和渲染這個數(shù)據(jù)城侧,所以下一步就是打算把天氣數(shù)據(jù)重新找一個API抓,抓當天的全天情況彼妻。然后渲染出來嫌佑,讓email發(fā)送HTML內容。
最后
當然我這個是開源項目侨歉,歡迎大家來協(xié)作屋摇,當然了目前我寫的這個幾個類還是非常糟糕的,等我改好擴展接口了再來为肮。(捂臉哭的表情)