利用周六周日兩天的時間我構建了一個python的訂閱系統。
項目開源地址
https://github.com/ppmoon/rlkm
初衷
為什么會想起來寫這么個程序?
基于兩點
一、我知道你們肯定和我一樣,每天接受的信息太多了,所以我希望通過一個系統和一個簡單的應用每天定時向我推送我想要的信息。
二、手機上安裝了很多應用,推送的消息都好煩,有些信息跟我鳥關系沒有,但是那些應用還是給我推送這些消息,比如澳門賭場啊,護士妹妹23歲單身什么的。你單身和我有什么關系?要知道閱讀就總是會浪費時間的,所以通過這個系統我希望把我手機上的應用統統卸載掉。然后通過郵件來接受我想要的信息。這樣我就可以給我的asha310再買塊電池,然后放棄智能手機。
程序
需求與思路
為了解決上面兩個問題我想了一個非常簡單的辦法,就是用程序去抓取和過濾我想要知道和了解的消息,這部分內容我想通過機器學習的辦法慢慢的矯正我想知道的信息。(就是說我每天應該知道啥完全交給硅基生命了)然后將這些消息通過email的方式發送給我,我每天就看一封郵件就看可以了,其他時間就在現實世界里專注眼下的事情,就算發呆我也覺得比盯著手機要好。
程序設計
我們自頂向下分步進行設計
1.構建一個計劃任務引擎
2.讓引擎調用一個發送email的程序
3.email從一個內容合成器里來獲取email將要發送的內容。
4.內容合成器從內容抓取與過濾工廠獲取內容。
根據以上步驟依次實現就可以了。代碼部分參考項目庫https://github.com/ppmoon/rlkm
這里就不詳細贅述實現細節了,很多內容都是可以百度的,谷歌都不用。
注意點
1.實現計劃任務引擎的時候,我使用了一個死循環讓程序不停的去監聽時間,是否和我設置的時間相等,相等就執行發送email的程序。
2.構建郵件發送程序的時候我使用了SMTP,自己搭建郵件服務器會有很多坑,這里要注意,要是發送失敗很多時候是郵件服務器以為你是垃圾郵件,所以收件人,發件人,標題,內容這四個信息一定要全面。而且每次內容不要重復。
下一步
現在這個小程序只能定時給我發送天氣情況
比如北京天氣實時的JSON數據,我是比較懶還沒有解析和渲染這個數據,所以下一步就是打算把天氣數據重新找一個API抓,抓當天的全天情況。然后渲染出來,讓email發送HTML內容。
最后
當然我這個是開源項目,歡迎大家來協作,當然了目前我寫的這個幾個類還是非常糟糕的,等我改好擴展接口了再來。(捂臉哭的表情)