日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python发送文件给微信好友_Python定时自动给微信好友发送天气预报

發(fā)布時(shí)間:2024/10/12 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python发送文件给微信好友_Python定时自动给微信好友发送天气预报 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

效果圖

from wxpyimport *

import requests

from datetimeimport datetime

import time

from apscheduler.schedulers.blockingimport BlockingScheduler#定時(shí)框架

bot = Bot(cache_path=True)

tuling = Tuling(api_key=你的api')#機(jī)器人api

def send_weather(location):

#準(zhǔn)備url地址

path ='http://api.map.baidu.com/telematics/v3/weather?location=%s&output=json&ak=TueGDhCvwI6fOrQnLM0qmXxY9N0OkOiQ&callback=?'

url = path % location

response = requests.get(url)

result = response.json()

#如果城市錯(cuò)誤就按照濮陽(yáng)發(fā)送天氣

if result['error'] !=0:

location ='濮陽(yáng)'

url = path % location

response = requests.get(url)

result = response.json()

str0 = ('? ? 早上好!這是今天的天氣預(yù)報(bào)!……機(jī)器人:PyChatBot\n')

results = result['results']

# 取出數(shù)據(jù)字典

data1 = results[0]

# 取出城市

city = data1['currentCity']

str1 ='? ? 你的城市: %s\n' % city

# 取出pm2.5值

pm25 = data1['pm25']

str2 ='? ? Pm值? ? : %s\n' % pm25

# 將字符串轉(zhuǎn)換為整數(shù) 否則無(wú)法比較大小

if pm25 =='':

pm25 =0

pm25 =int(pm25)

# 通過(guò)pm2.5的值大小判斷污染指數(shù)

if 0 <= pm25 <35:

pollution ='優(yōu)'

elif 35 <= pm25 <75:

pollution ='良'

elif 75 <= pm25 <115:

pollution ='輕度污染'

elif 115 <= pm25 <150:

pollution ='中度污染'

elif 150 <= pm25 <250:

pollution ='重度污染'

elif pm25 >=250:

pollution ='嚴(yán)重污染'

str3 ='? ? 污染指數(shù): %s\n' % pollution

result1 = results[0]

weather_data = result1['weather_data']

data = weather_data[0]

temperature_now = data['date']

str4 ='? ? 當(dāng)前溫度: %s\n' % temperature_now

wind = data['wind']

str5 ='? ? 風(fēng)向? ? : %s\n' % wind

weather = data['weather']

str6 ='? ? 天氣? ? : %s\n' % weather

str7 ='? ? 溫度? ? : %s\n' % data['temperature']

message = data1['index']

str8 ='? ? 穿衣? ? : %s\n' % message[0]['des']

str9 ='? ? 我很貼心: %s\n' % message[2]['des']

str10 ='? ? 運(yùn)動(dòng)? ? : %s\n' % message[3]['des']

str11 ='? ? 紫外線 : %s\n' % message[4]['des']

str = str0 + str1 + str2 + str3 + str4 + str5 + str6 + str7 + str8 + str9 + str10 + str11

return str

#好友列表

my_friends = []

my_friends = bot.friends()

my_friends.pop(0)

#發(fā)送函數(shù)

def send_message():

#給全體好友發(fā)送

for friendin my_friends:

friend.send(send_weather(friend.city))

#發(fā)送成功通知我

bot.file_helper.send(send_weather('濮陽(yáng)'))

bot.file_helper.send('發(fā)送完畢')

#定時(shí)器

print('star')

sched = BlockingScheduler()

sched.add_job(send_message,'cron',month='1-12',day='1-31',hour=5,minute =30)

sched.start()

具體操作:

首先導(dǎo)入wxpy、圖靈機(jī)器人和定時(shí)器Apscheduler,定時(shí)器用來(lái)定時(shí)群發(fā)。

具體pip操作建議百度。

使用百度的一個(gè)天氣接口得到j(luò)son數(shù)據(jù)。

主要思路:

1.從wxpy獲取好友列表

2.創(chuàng)建定時(shí)器

3.定時(shí)器觸發(fā)函數(shù)

4.函數(shù)執(zhí)行,遍歷好友列表

5.好友對(duì)象執(zhí)行帶參函數(shù),參數(shù)為該好友城市

6.函數(shù)中請(qǐng)求百度天氣接口,得到該好友對(duì)應(yīng)天氣數(shù)據(jù),解析處理數(shù)據(jù),發(fā)送天氣信息,完成該對(duì)象發(fā)送。

7.遍歷結(jié)束,發(fā)送完畢

缺陷:打包為exe文件之后啟動(dòng)失敗,原因是定時(shí)器找不到trigger,要想解決需要查看Apscheduler相關(guān)資料。

解決方法:換一種定時(shí)器。

編譯器上正常執(zhí)行。

打包為exe之后,可以很方便發(fā)給別人使用。掃碼登錄后每天早上5:30會(huì)自動(dòng)給所有好友發(fā)送效果圖中的天氣預(yù)報(bào)。

大家有不明白的盡管問(wèn)。

總結(jié)

以上是生活随笔為你收集整理的python发送文件给微信好友_Python定时自动给微信好友发送天气预报的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。