通過server醬實現定時推送天氣情況,再不用擔心你的糊塗蛋女友忘帶傘了~~


昨天菜鳥小白給大家留了一個課后作業,如何實現天氣的定時推送。有沒有小伙伴做出來答案呢?今天菜鳥小白給大家分享我的實現方式吧。這個是我今天整的程序流程圖,昨天我們還只是實現了中間的通過和風天氣API獲取天氣情況,今天我們需要實現其它部分。

 

 
在這里插入圖片描述

計時器的實現

APScheduler是一個 Python 定時任務框架,使用起來十分方便。提供了基於日期、固定時間間隔以及 crontab 類型的任務,並且可以持久化任務、並以 daemon 方式運行應用。我們通過pip程序安裝好apscheduler庫。

 

 
在這里插入圖片描述

安裝之后我們直接運行如下程序

def job(): print(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) # 定義BlockingScheduler sched = BlockingScheduler() sched.add_job(job, 'interval', seconds=5) sched.start() 

運行這個實驗程序我們會發現每隔5秒鍾打印當前時間,最后我們只想調整seconds參數和job函數中執行的命令即可。

天氣推送

菜鳥小白之前有看到過一遍博文說是用python寫了一個微信提醒備忘錄,里面使用的是server醬來實現微信推送,這個正好不就拿來用推送天氣消息么。菜鳥小白去server醬的官網上看整個過程也很簡單。
官網地址:http://sc.ftqq.com/3.version
接入流程如下:
登入:用GitHub賬號登入網站,就能獲得一個SCKEY(在「發送消息」頁面)
綁定:點擊「微信推送」,掃碼關注同時即可完成綁定
發消息:往 http://sc.ftqq.com/SCKEY.send 發GET請求,就可以在微信里收到消息啦
我們一步一步進行教學,首先我們需要使用GitHub賬戶登錄網站,登錄后如下圖所示:

 
在這里插入圖片描述


在發送消息頁面下面可以看到自己的key值。

 
在這里插入圖片描述


接下我們需要點擊微信推送綁定需要接收推送信息的微信,綁定后如下圖所示:

 
在這里插入圖片描述

 

接下來我們就只需要完成發送消息的代碼即可,代碼很基礎,我們就不進行分析了。

def send_msg(content): ​ title = cityname + "天氣情況" print(title) params={ 'text':title, 'desp':content } serverURL = "https://sc.ftqq.com/SCU48241Td01d600e292***********e9d35caaccd7e9283.send"#替換為自己的key值 response = requests.session().post(serverURL,data=params) 

實現效果

最后我們看一下實現效果,因為時間原因我設置的推送時間間隔為3分鍾,你們運行的時候適當拉長推送時間。
我的程序運行后,21:45收到的微信推送天氣情況

 

 
在這里插入圖片描述

等待一段時間后,21:48收到的微信推送天氣通知

 

 
在這里插入圖片描述

后續可優化空間

如果你確實是需要給你的糊塗蛋女友推送消息的話,還可以根據不同天氣情況調整推送內容,讓女朋友感受到你十足的關心。怎么菜鳥小白已經幫你到這里了,你還不會做的話,那菜鳥小白就沒有辦法了。

粉絲福利

插拔一條抽獎信息,關注菜鳥小白的公眾號回復“粉絲福利”即可參與抽獎騰訊月卡一張,禮物雖輕,但也是菜鳥小白的一份心意呢~

源碼獲取

想要獲取源碼的小伙伴,老規矩。關注公眾號“菜鳥小白的學習分享”回復“天氣推送”即可
好了今天分享就到了,如果你也認同菜鳥小白的學習分享的話,那就給菜鳥小白一個關注、在看、點贊+贊賞吧,你們的支持,是我持續不斷的動力

推薦閱讀:

想做一個天氣推送程序,卻被和風天氣API的示例代碼調試得快吐了

教你搭建微信公眾號自動答復機器人

媳婦兒讓我給她找一個PDF轉word免費工具,找了半天我決定給她寫一個出來-

媳婦兒喜歡玩某音中的動漫特效,那我就用python做一個圖片轉化軟件。

媳婦兒總說我桌面太亂,我一氣之下用python寫了個桌面文件分類器

關注微信公眾號——菜鳥小白的學習分享
媽媽再也不用擔心我找不到路了

在這里插入圖片描述

 

一個人的學習孤單
一群人的學習幸福


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM