自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

天氣變冷了,給父母制作一個天氣提醒小助手

開發(fā) 后端
最近天氣變冷了,和父母聊天中得知,他們查看每天的天氣預報不太方便,我記得小時候,每晚 19:30 左右,一家人都要守在電視機旁邊收聽第二天的天氣情況。

最近天氣變冷了,和父母聊天中得知,他們查看每天的天氣預報不太方便,我記得小時候,每晚 19:30 左右,一家人都要守在電視機旁邊收聽第二天的天氣情況。

[[280003]]

如今,對于我們年輕人來說,獲取天氣情況很方便,但是對于我們不擅長用手機的父母來說,還是很吃力,他們用的多的還是微信吧。為此,我用不到 40 行代碼寫了一個小工具,每天定時把當天的天氣情況直接發(fā)到微信群里。

查詢天氣接口

要獲取天氣情況,需要一個查詢天氣的接口,網上找了一下,一般都是注冊后送一定調用次數的,我選擇了一個,免費送 500 次查詢次數的。

我們看看接口的 API 文檔。

其中城市名 cityname 和 key 是必填項。

  1. http://v.juhe.cn/weather/index?format=2&cityname=%E8%8B%8F%E5%B7%9E&key=您申請的KEY 

key 值在 juhe.cn 我的接口那一欄中可以看到。

我們也可以事先在 Postman 工具中調試看看接口能否調通。

Postman 接口工具沒用過的沒關系,他們網頁上也提供了調試工具。

查詢天氣方法

我們直接用 requests 庫請求接口就能獲得 json 格式的天氣信息,json 數據中包含了當天和未來幾天的天氣信息,這里我只需要當天的,當天數據都在 result 下的 today 里,提取出來用 return 返回。

通過微信發(fā)送天氣消息

我們通過微信把天氣信息發(fā)到群里,這里我們需要用到調用微信的庫,itchat 庫或者 wxpy 都可以,這里我用了 wxpy 庫。

先導入 wxpy 庫。

 

  1. from wxpy import * 

我們把剛才的請求接口返回的天氣信息整合一下,然后用 wxpy 庫的 search 方法通過群名稱找到你需要發(fā)送天氣消息的這個群,用 send 方法發(fā)送。

 

 

我這里是發(fā)送到群里,當然,你也可以直接發(fā)送給個人微信。

  1. my_friend = bot.friends().search(u'pk哥')[0] 

定時操作

如果每次都需要我們手動運行,那就有點麻煩,我們要讓程序每天在固定時間定時發(fā)送,這里需要用到 Timer 定時器。

Timer 定時器格式:

  1. Timer(86400, get_weather) 

第一個參數表示相隔指定時間(單位:秒)后再次調用方法(第二個參數),注意,方法后不要帶括號。

86400 秒就是相隔 24 小時,也就是一天的時間。

  1. t = Timer(86400, get_weather)   
  2. t.start() 
  3. t.join() 

異常處理

如果信息發(fā)送失敗,我把信息發(fā)給自己,這里我做了一個異常處理。

  1. except BaseException: 
  2.      my_friend = bot.friends().search(u'brucepk')[ 
  3.          0]  # 發(fā)送不成功,則發(fā)送消息給自己,提醒消息發(fā)送失敗 
  4.      my_friend.send(u'天氣消息發(fā)送失敗') 

我們的程序需要持續(xù)運行,那是不是需要一直在電腦上運行啊?這樣有點不現實啊,我們把它部署到服務器上就可以搞定了,現在服務器也很便宜,做活動的時候一般 100 元以內就可以買一年。

部署在服務器

在服務器中運行程序,直接掃碼登錄微信,下面是我上周五開始運行的,相隔 24 小時后,周六再次調用方法,獲取新的天氣信息。

 

 

發(fā)到群里效果如下圖,當然,你還可以多加一些接口返回的信息或者自己想說的話。

 

 

可能存在的問題

1、你的微信登錄不了網頁版微信

因為 itchat 庫和 wxpy 庫都是調用微信的網頁版接口,如果你的微信注冊比較晚,被限制了網頁版登錄功能,那這個程序你無法運行。

2、發(fā)送不到指定群

先檢查下群名稱,把群名稱一些 emoji 表情符號去掉,這些特殊符號可能導致無法識別。

群名稱沒錯的話,看看自動發(fā)送信息的這個號有沒有把這個群添加到通訊錄。

 

 

這樣,一個定時發(fā)送消息的小工具就完成了,你也可以在上面擴展,加上其他功能,這樣就更完善了。

責任編輯:華軒 來源: Python知識圈
相關推薦

2019-11-04 10:37:16

PythonPython開發(fā)Python測試

2019-12-26 09:38:57

GitHub工具 wxpy

2021-08-04 11:55:45

Python天氣查詢PySide2

2009-10-14 09:58:43

VB.NET程序

2017-08-07 14:24:16

互聯網

2012-11-26 14:49:15

天氣通二維碼

2016-03-14 10:29:38

天氣預報各類工具源碼

2023-12-05 10:03:02

Web組件開發(fā)

2013-03-26 13:20:27

Android天氣預報

2014-09-17 10:20:20

Linuxshell

2015-05-20 10:02:02

程序員全棧工程師

2019-05-05 11:20:06

PythonPrometheus跟蹤天氣

2013-09-27 16:26:25

墨跡天氣
點贊
收藏

51CTO技術棧公眾號