欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python實現(xiàn)定時自動給微信好友發(fā)送天氣預(yù)報

 更新時間:2018年10月25日 09:33:55   作者:李聰你好  
這篇文章主要介紹了基于Python實現(xiàn)定時自動給微信好友發(fā)送天氣預(yù)報的實現(xiàn)代碼,,需要的朋友可以參考下

效果圖

from wxpyimport *
import requests
from datetimeimport datetime
import time
from apscheduler.schedulers.blockingimport BlockingScheduler#定時框架
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()
#如果城市錯誤就按照濮陽發(fā)送天氣
if result['error'] !=0:
location ='濮陽'
url = path % location
response = requests.get(url)
result = response.json()
str0 = ('  早上好!這是今天的天氣預(yù)報!……機(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ù) 否則無法比較大小
if pm25 =='':
pm25 =0
pm25 =int(pm25)
# 通過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)動  : %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('濮陽'))
bot.file_helper.send('發(fā)送完畢')
#定時器
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ī)器人和定時器Apscheduler,定時器用來定時群發(fā)。

具體pip操作建議百度。

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

主要思路:

1.從wxpy獲取好友列表

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

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

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

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

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

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

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

解決方法:換一種定時器。

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

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

PS:下面看下Python實現(xiàn)微信定時發(fā)送天氣預(yù)報

schedule實現(xiàn)定時

 import requests
from requests import exceptions
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
from wxpy import *
import schedule
import time
bot=Bot(cache_path=True) #登陸網(wǎng)頁微信,并保存登陸狀態(tài)
def sendblogmsg(content):
  #搜索自己的好友,注意中文字符前需要+u
  my_friend = bot.friends().search(u'卿塵')[0]
  my_friend.send(content)
  #my_group = bot.groups().search(u'卿塵')[0]
  #my_group.send(content) #發(fā)送天氣預(yù)報
def job():
  resp=urlopen('http://www.weather.com.cn/weather/101010100.shtml')
  soup=BeautifulSoup(resp,'html.parser')
  tagToday=soup.find('p',class_="tem") #第一個包含class="tem"的p標(biāo)簽即為存放今天天氣數(shù)據(jù)的標(biāo)簽
  try:
    temperatureHigh=tagToday.span.string #有時候這個最高溫度是不顯示的,此時利用第二天的最高溫度代替。
  except AttributeError as e:
    temperatureHigh=tagToday.find_next('p',class_="tem").span.string #獲取第二天的最高溫度代替
  temperatureLow=tagToday.i.string #獲取最低溫度
  weather=soup.find('p',class_="wea").string #獲取天氣
  contents = '北京' + '\n' + '最高溫度:' + temperatureHigh + '\n' + '最低溫度:' + temperatureLow + '\n' + '天氣:' + weather 
    # result3 = '最低溫度:' + temperatureLow
  #print('最低溫度:' + temperatureLow)
  #print('最高溫度:' + temperatureHigh)
  # print('天氣:' + weather)
  sendblogmsg(contents)
#定時
schedule.every().day.at("19:20").do(job) #規(guī)定每天12:30執(zhí)行job()函數(shù)
while True:
  schedule.run_pending()#確保schedule一直運(yùn)行
  time.sleep(1)
bot.join() #保證上述代碼持續(xù)運(yùn)行

end

總結(jié)

以上所述是小編給大家介紹的基于Python實現(xiàn)定時自動給微信好友發(fā)送天氣預(yù)報,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Python中的高級數(shù)據(jù)結(jié)構(gòu)詳解

    Python中的高級數(shù)據(jù)結(jié)構(gòu)詳解

    這篇文章主要介紹了Python中的高級數(shù)據(jù)結(jié)構(gòu)詳解,本文講解了Collection、Array、Heapq、Bisect、Weakref、Copy以及Pprint這些數(shù)據(jù)結(jié)構(gòu)的用法,需要的朋友可以參考下
    2015-03-03
  • python數(shù)據(jù)分析之公交IC卡刷卡分析

    python數(shù)據(jù)分析之公交IC卡刷卡分析

    這篇文章主要介紹了python數(shù)據(jù)分析之公交IC卡,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • 使用Python第三方庫pygame寫個貪吃蛇小游戲

    使用Python第三方庫pygame寫個貪吃蛇小游戲

    這篇文章主要介紹了使用Python第三方庫pygame寫個貪吃蛇小游戲,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python中用于計算對數(shù)的log()方法

    Python中用于計算對數(shù)的log()方法

    這篇文章主要介紹了Python中用于計算對數(shù)的log()方法,是Python入門基礎(chǔ)中的必會的方法,需要的朋友可以參考下
    2015-05-05
  • caffe的python接口deploy生成caffemodel分類新的圖片

    caffe的python接口deploy生成caffemodel分類新的圖片

    這篇文章主要為大家介紹了caffe的python接口生成deploy文件學(xué)習(xí)以及用訓(xùn)練好的模型(caffemodel)來分類新的圖片示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • PyQt5的PyQtGraph實踐系列3之實時數(shù)據(jù)更新繪制圖形

    PyQt5的PyQtGraph實踐系列3之實時數(shù)據(jù)更新繪制圖形

    這篇文章主要介紹了PyQt5的PyQtGraph實踐系列3之實時數(shù)據(jù)更新繪制圖形,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 跟老齊學(xué)Python之用Python計算

    跟老齊學(xué)Python之用Python計算

    做為零基礎(chǔ)學(xué)習(xí)Python,也就從計算小學(xué)數(shù)學(xué)題目開始吧。因為從這里開始,數(shù)學(xué)的基礎(chǔ)知識列為肯定過關(guān)了。
    2014-09-09
  • PyCharm無法引用自身項目解決方式

    PyCharm無法引用自身項目解決方式

    今天小編就為大家分享一篇PyCharm無法引用自身項目解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python數(shù)據(jù)分析之缺失值檢測與處理詳解

    Python數(shù)據(jù)分析之缺失值檢測與處理詳解

    在實際的數(shù)據(jù)處理中,缺失值是普遍存在的,如何使用 Python 檢測和處理缺失值,就是本文要講的主要內(nèi)容。感興趣的同學(xué)可以關(guān)注一下
    2021-12-12
  • Python 數(shù)據(jù)可視化之Matplotlib詳解

    Python 數(shù)據(jù)可視化之Matplotlib詳解

    這篇文章主要介紹了Python數(shù)據(jù)可視化庫seaborn的使用總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11

最新評論