成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

[[280003]]

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

查詢天氣接口

要獲取天氣情況,需要一個(gè)查詢天氣的接口,網(wǎng)上找了一下,一般都是注冊(cè)后送一定調(diào)用次數(shù)的,我選擇了一個(gè),免費(fèi)送 500 次查詢次數(shù)的。

我們看看接口的 API 文檔。

其中城市名 cityname 和 key 是必填項(xiàng)。

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

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

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

Postman 接口工具沒(méi)用過(guò)的沒(méi)關(guān)系,他們網(wǎng)頁(yè)上也提供了調(diào)試工具。

查詢天氣方法

我們直接用 requests 庫(kù)請(qǐng)求接口就能獲得 json 格式的天氣信息,json 數(shù)據(jù)中包含了當(dāng)天和未來(lái)幾天的天氣信息,這里我只需要當(dāng)天的,當(dāng)天數(shù)據(jù)都在 result 下的 today 里,提取出來(lái)用 return 返回。

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

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

先導(dǎo)入 wxpy 庫(kù)。

 

  1. from wxpy import * 

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

 

 

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

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

定時(shí)操作

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

Timer 定時(shí)器格式:

  1. Timer(86400, get_weather) 

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

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

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

異常處理

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

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

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

部署在服務(wù)器

在服務(wù)器中運(yùn)行程序,直接掃碼登錄微信,下面是我上周五開(kāi)始運(yùn)行的,相隔 24 小時(shí)后,周六再次調(diào)用方法,獲取新的天氣信息。

 

 

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

 

 

可能存在的問(wèn)題

1、你的微信登錄不了網(wǎng)頁(yè)版微信

因?yàn)?itchat 庫(kù)和 wxpy 庫(kù)都是調(diào)用微信的網(wǎng)頁(yè)版接口,如果你的微信注冊(cè)比較晚,被限制了網(wǎng)頁(yè)版登錄功能,那這個(gè)程序你無(wú)法運(yùn)行。

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

先檢查下群名稱,把群名稱一些 emoji 表情符號(hào)去掉,這些特殊符號(hào)可能導(dǎo)致無(wú)法識(shí)別。

群名稱沒(méi)錯(cuò)的話,看看自動(dòng)發(fā)送信息的這個(gè)號(hào)有沒(méi)有把這個(gè)群添加到通訊錄。

 

 

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

責(zé)任編輯:華軒 來(lái)源: Python知識(shí)圈
相關(guān)推薦

2019-11-04 10:37:16

PythonPython開(kāi)發(fā)Python測(cè)試

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

互聯(lián)網(wǎng)

2016-03-14 10:29:38

天氣預(yù)報(bào)各類工具源碼

2012-11-26 14:49:15

天氣通二維碼

2023-12-05 10:03:02

Web組件開(kāi)發(fā)

2014-09-17 10:20:20

Linuxshell

2013-03-26 13:20:27

Android天氣預(yù)報(bào)

2015-05-20 10:02:02

程序員全棧工程師

2013-11-04 09:28:58

2019-05-05 11:20:06

PythonPrometheus跟蹤天氣
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久91精品国产 | 日本精品一区 | 69性欧美高清影院 | 亚洲国产精品99久久久久久久久 | 免费视频久久 | 精产国产伦理一二三区 | 日本亚洲一区 | 日韩在线观看视频一区 | 殴美黄色录像 | a中文在线视频 | 尤物在线精品视频 | 免费精品| 亚洲人在线观看视频 | 在线日韩精品视频 | 很黄很污的网站 | 日韩手机视频 | 亚洲精品一 | 中文欧美日韩 | 欧美精品 在线观看 | 99精品久久 | 欧美在线视频观看 | 国产精品高清在线 | 亚洲国产精品一区二区久久 | 久草在线 | 欧美日韩综合精品 | 视频在线一区二区 | 中文字幕国产视频 | 欧美1区 | 91香蕉视频在线观看 | 国产免费播放视频 | 蜜月aⅴ国产精品 | 丝袜 亚洲 欧美 日韩 综合 | 中文字幕国产日韩 | 人人做人人澡人人爽欧美 | 日韩国产黄色片 | 亚洲在线观看视频 | 久久久91精品国产一区二区三区 | 成人妇女免费播放久久久 | 黄a免费网络 | 国产精品自拍视频 | 国精久久 |