日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python獲取天氣接口給指定微信好友發天氣預報

瀏覽:180日期:2022-07-01 09:29:45

先看下效果圖:

python獲取天氣接口給指定微信好友發天氣預報

用到的模塊:

PyMySQL requests threading wxpy

要實現上面的示例,首先是有兩大塊地方

獲取天氣信息 通過微信將天氣信息發送出去

而獲取天氣信息又包括幾個小的需要注意的地方

獲取天氣信息

獲取天氣信息的接口 獲取天氣信息的城市 獲取所在城市的城市碼

假如我們給多個人發送天氣情況,這幾個人來自不同的城市,那么我們不可能每次都要輸入城市名,然后查找城市碼,然后再訪問接口,獲取天氣情況,這樣會非常的麻煩,所以我們需要考慮將城市名跟城市碼一一對應起來,說到一一對應,首先想到的數據結構便是字典,所以我們可以將這些信息存入一個字典里,然后持久化到一個文件中,這樣便方便很多

首先我們獲取最新的 city 表,這個表是一個 list 類型,大體格式如下:

[ { 'id': 1, 'pid': 0, 'city_code': '101010100', 'city_name': '北京', 'post_code': '100000', 'area_code': '010', 'ctime': '2019-07-11 17:30:06' }, { 'id': 2, 'pid': 0, 'city_code': '', 'city_name': '安徽', 'post_code': null, 'area_code': null, 'ctime': null }]

我們就簡單的粘貼復制,放到一個空的列表中,如下所示,將所有的城市信息放到列表 citycode 中

citycode = [ { 'id': 1, 'pid': 0, 'city_code': '101010100', 'city_name': '北京', 'post_code': '100000', 'area_code': '010', 'ctime': '2019-07-11 17:30:06' },.................. { 'id': 2, 'pid': 0, 'city_code': 'None', 'city_name': '安徽', 'post_code': 'null', 'area_code': 'null', 'ctime': 'null' }]cityinfo = {}#將城市名和城市代碼寫入json文件中with open(’city_for_code.json’,’w’,encoding=’utf-8’) as f: for i in citycode: name = i['city_name'] code = i['city_code'] cityinfo[name] = code f.write(str(cityinfo))#測試是否能讀取with open(’city_for_code.json’,’r+’,encoding=’utf-8’) as file: data_dst = file.readlines() d = eval(data_dst[0])

然后就是一頓處理,只把我們所需的 city_name 和 city_code 這倆字段取出即可,隨后寫入文件中。如果讀取的話就按照上面方法去讀取,需要注意的是,使用 open()方法讀取文件,得到的內容是一個列表,我們需要通過 eval()方法轉化成 dict 類型。

這是把 city_name 和 city_code 放到一個文件中的方法,另外我們也可以放到數據庫中,這里以 MySQL 為例,安裝 PyMySQL 模塊

import pymysqldb_parames = { ’host’: ’localhost’, ’user’: ’root’, ’password’: ’123456’, ’database’: ’city_code_info’}#連接數據庫conn = pymysql.connect(**db_parames)#創建游標對象,增刪改查都在游標上進行cursor = conn.cursor()#表存在,就刪除cursor.execute('DROP TABLE IF EXISTS city_code')#建表語句create_table_sql = '''CREATE TABLE `city_code` ( `city_name` varchar(20) DEFAULT NULL, `city_code` varchar(25) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;'''#建表cursor.execute(create_table_sql)#插入數據with open(’city_for_code.json’,’r+’,encoding=’utf-8’) as f: origin_data = f.readlines() current_data = eval(origin_data[0]) #讀取的內容是一個列表,且只包含一個元素 #print(current_data.get(’北京’,’Not Exists.’)) for name, code in current_data.items(): sql = '''INSERT INTO city_code(city_name, city_code) VALUES (’%s’, ’%s’)''' % (name, code) try: cursor.execute(sql) except: conn.rollback() conn.commit() conn.close()

執行這個 python 程序就可以將文件中的城市名跟城市碼存到庫中,當然我們也可以直接獲取到城市名和城市碼,然后跳過文件持久化這一步,直接把這兩個字段取出存進去,但是考慮著代碼要多練多寫,就多此一舉了一下。

下面是輸入城市名就能得到城市碼的代碼塊:

import pymysqldef get_city_code(city_name): db_parames = { ’host’: ’localhost’, ’user’: ’root’, ’password’: ’123456’, ’database’: ’city_code_info’ } #連接數據庫 conn = pymysql.connect(**db_parames) #創建游標對象,增刪改查都在游標上進行 cursor = conn.cursor() #創建查詢語句 select_sql = 'SELECT * FROM city_code where city_name=’%s’'%(city_name) try: cursor.execute(select_sql) result = cursor.fetchall() for row in result: city_code = row[1] return city_code except: return 'Error: unable fetch data!'

然后是根據輸入的城市碼來獲取天氣情況:

import requestsdef get_weather(city_name,get_date_time=3): city_code = get_city_code(city_name) url = ’http://t.weather.sojson.com/api/weather/city/%s’%(city_code) header = { ’user-agent’: ’Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36’ } response = requests.get(url,header) response.encoding = ’utf-8’ weather = response.json() day = {1: ’明天’, 2: ’后天’, 3: ’大后天’} weather_lst = [] for num in range(get_date_time): City = weather['cityInfo']['city'] Weatherganmao = weather['data']['ganmao'] Weatherquality = weather['data']['quality'] Weathershidu = weather['data']['shidu'] Weatherwendu = weather['data']['wendu'] Weatherpm25 = str(weather['data']['pm25']) Weatherpm10 = str(weather['data']['pm10']) Dateymd = weather['data']['forecast'][num]['ymd'] Dateweek = weather['data']['forecast'][num]['week'] Sunrise = weather['data']['forecast'][num]['sunrise'] Sunset = weather['data']['forecast'][num]['sunset'] Windfx = weather['data']['forecast'][num]['fx'] Windf1 = weather['data']['forecast'][num]['fl'] Weathertype = weather['data']['forecast'][num]['type'] Weathernotice = weather['data']['forecast'][num]['notice'] Weatherhigh = weather['data']['forecast'][num]['high'] Weatherlow = weather['data']['forecast'][num]['low'] if num == 0: result = ’今日天氣預報’ + ’n’ + ’日期: ’ + Dateymd + ’ ’ + Dateweek + ’ ’ + City + ’n’ + ’天氣: ’ + Weathertype + ’ ’ + Windfx + ’ ’ + Windf1 + ’ ’ + Weathernotice + ’n’ + ’當前溫度: ’ + Weatherwendu + ’℃’ + ’n’ + ’空氣濕度: ’ + Weathershidu + ’n’ + ’溫度范圍: ’ + Weatherlow + ’’ + ’~’ + ’’ + Weatherhigh + ’n’ + ’污染指數: ’ + ’PM2.5: ’ + Weatherpm25 + ’ ’ + ’PM10: ’ + Weatherpm10 + ’n’ + ’空氣質量: ’ + Weatherquality + ’n’ + ’日出時間: ’ + Sunrise + ’n’ + ’日落時間: ’ + Sunset + ’n’ + ’溫馨提示: ’ + Weatherganmao else: which_day = day.get(num,’超出范圍’) result = ’n’ + which_day + ’ ’ + ’天氣預報’ + ’n’ + ’日期: ’ + Dateymd + ’ ’ + Dateweek + ’ ’ + City + ’n’ + ’天氣: ’ + Weathertype + ’ ’ + Windfx + ’ ’ + Windf1 + ’ ’ + Weathernotice + ’n’ + ’溫度范圍: ’ + Weatherlow + ’’ + ’~’ + ’’ + Weatherhigh + ’n’ + ’日出時間: ’ + Sunrise + ’n’ + ’日落時間: ’ + Sunset + ’n’ + ’溫馨提示: ’ + Weatherganmao weather_lst.append(result) weather_str = ’’ #因為默認要輸出三天的天氣情況,所以我們需要創建一個空字符串,然后每迭代一次,就將天氣情況拼接到空字符串中。 for msg in weather_lst: weather_str += msg + ’n’ return weather_str

下面是發送微信消息

from wxpy import *def send_wx(city_name, who): bot = Bot(cache_path=True) #bot = Bot(console_qr=2, cache_path=’botoo.pkl’) my_friend = bot.friends().search(who)[0] msg = get_weather(city_name) try: my_friend.send(msg) except: my_friend = bot.friends().search(’fei’)[0] my_friend.send(u'發送失敗')

然后我們還需要寫一個定時器,每隔一段時間便要發送一次

from threading import Timerdef auto_send(): city_name = ’設置要發送的城市’ friend_list = [’要發送的人’] for who in friend_list: send_wx(city_name,who) global timer timer = Timer(1,auto_send) timer.start()

最后執行程序

if __name__ == ’__main__’: timer = Timer(1,auto_send) timer.start()

以上就是python獲取天氣接口給指定微信好友發天氣預報的詳細內容,更多關于python獲取天氣接口的資料請關注好吧啦網其它相關文章!

標簽: 微信 Python
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩av一区二区在线影视| 久久的色偷偷| 亚洲毛片网站| 免费一区二区三区在线视频| 精品香蕉视频| 日韩精品欧美大片| 欧美日韩免费观看一区=区三区| 青草av.久久免费一区| 深夜福利视频一区二区| 人人爱人人干婷婷丁香亚洲| 国产aa精品| 精品亚洲免a| 精品视频一二| 久久精品国产亚洲一区二区三区| 亚洲欧美激情诱惑| 欧美特黄一级| 蜜桃国内精品久久久久软件9| 精品91福利视频| 久久精品免视看国产成人| 亚洲日韩视频| 日本精品国产| 国产精品成人自拍| 美女久久一区| 亚洲精品在线国产| 日韩av网站在线观看| 日本中文字幕视频一区| 欧美亚洲一级| 国产欧美丝祙| 岛国av在线网站| 日韩午夜一区| 日本欧美在线| 欧美日韩国产v| 男人的天堂亚洲一区| 日韩一区中文| 精品深夜福利视频| 黄页网站一区| 免费在线成人| 日韩视频二区| 国产精品亚洲成在人线| 精品久久久亚洲| 国产精品美女久久久| 免费日韩av片| 精品国产网站| 蜜臀91精品一区二区三区| 日韩精品免费观看视频| 国产精品久久久久久久久久白浆| 免费一级欧美在线观看视频| 91成人福利| 不卡在线一区| 国产精品mm| 国产精品三上| 亚洲综合电影| 久久精品凹凸全集| 久久午夜视频| 成人精品中文字幕| 国产精品伦一区二区| 日本美女一区| 国产精品s色| 日韩精品一区二区三区中文在线| 精品视频一区二区三区在线观看 | 视频一区二区中文字幕| 麻豆视频观看网址久久| 国产精品久久久久久模特| 中文字幕成人| 国产精品日韩精品在线播放| 精品一区二区三区中文字幕视频| 在线综合欧美| 水野朝阳av一区二区三区| 石原莉奈在线亚洲二区| 国产极品嫩模在线观看91精品| 国产精品亚洲欧美一级在线| 日韩精品五月天| 欧美日韩视频网站| 视频一区在线视频| 精品国产aⅴ| 亚洲精品一级| 91青青国产在线观看精品| 日韩精品中文字幕一区二区| 亚洲精品第一| 日韩免费高清| 亚洲成人精品| 亚洲婷婷在线| 国产h片在线观看| 在线观看视频免费一区二区三区| 羞羞答答国产精品www一本| 亚洲精品九九| 亚洲少妇在线| 欧美国产另类| 欧美国产极品| 日韩高清在线不卡| 国产综合色产| 久久国产小视频| 国产精品美女午夜爽爽| 中文字幕一区日韩精品| 欧美日韩国产精品一区二区亚洲| 亚洲精品国产嫩草在线观看| 欧美国产偷国产精品三区| 国产精品专区免费| 日韩精品一级中文字幕精品视频免费观看 | 欧美天堂视频| 激情丁香综合| 亚洲三级av| 国产欧美日韩精品一区二区免费| 日韩1区2区3区| 国产91在线播放精品| 自拍日韩欧美| 国产亚洲电影| 久久精品亚洲人成影院| 欧美网站在线| 精品国产一区二| 日韩精品免费观看视频| 午夜精品成人av| 丝袜美腿亚洲色图| 精品99在线| 亚洲美女久久| 久久99高清| 综合激情婷婷| 在线国产一区二区| 欧美丰满日韩| 久久精品国产亚洲aⅴ| 99精品视频在线| 麻豆精品久久久| 亚洲91在线| 国产精品www.| 日韩精品一区二区三区免费视频 | 亚洲青青久久| 欧美日韩国产免费观看视频| 蜜桃视频一区二区三区| 99精品在线观看| 精品国产第一福利网站| 欧美激情 亚洲a∨综合| 99日韩精品| 欧美极品中文字幕| 国产精品一站二站| 欧美日韩一区二区三区不卡视频 | 丰满少妇一区| 日本一二区不卡| 在线看片国产福利你懂的| 欧美一级一区| 精品视频在线观看网站| 久久福利在线| 天堂av在线| 欧美日韩国产亚洲一区| 亚洲国产一区二区三区在线播放 | 亚洲精品乱码日韩| 国产精品久久久久久久久免费高清 | 国产精品普通话对白| 精品91久久久久| 欧美视频久久| 亚洲bt欧美bt精品777| 极品av在线| 在线一区二区三区视频| 麻豆久久久久久| 免费成人在线观看| 久久久久欧美精品| 国产成年精品| 国产日韩高清一区二区三区在线| 欧美黄页在线免费观看| 青青青国产精品| 丝袜美腿亚洲一区| 欧美三级第一页| 日本欧美国产| 99综合视频| 中文字幕一区二区三区四区久久 | 国产探花一区二区| 午夜精品久久久久久久久久蜜桃| 久久91导航| 欧美aⅴ一区二区三区视频| 丝袜亚洲精品中文字幕一区| 免费精品国产| 日韩一二三区在线观看| 国产日本亚洲| 日韩伦理在线一区| 免播放器亚洲| 亚洲欧美日韩精品一区二区| 亚洲欧美网站在线观看| 四虎4545www国产精品| 美女av一区| 成人在线丰满少妇av| 亚洲欧美日韩一区在线观看| 国产精品久久免费视频| 久久精品国产99久久| 日韩av不卡在线观看| 亚洲播播91| 丝袜a∨在线一区二区三区不卡| 日韩成人av影视| 国产韩日影视精品| 激情视频网站在线播放色| 97久久亚洲| 日韩av专区| 99久久激情| 水野朝阳av一区二区三区| 日本亚洲最大的色成网站www | 国产精品视频一区二区三区四蜜臂| 美女性感视频久久| 久久99视频| 成人看片网站| 国产麻豆综合| 日韩成人午夜精品| 老牛影视精品|