zoukankan      html  css  js  c++  java
  • 微信定时发送天气python3

    爬取天气信息,定时发送天气给多人python3

     1 import requests
     2 from requests import exceptions
     3 from urllib.request import urlopen
     4 from bs4 import BeautifulSoup
     5 import re
     6 from wxpy import *
     7 import  schedule
     8 import  time
     9  
    10  
    11 #bot=Bot(cache_path=True) #登陆网页微信,并保存登陆状态
    12 bot = Bot(console_qr=2,cache_path="botoo.pkl")#Linux专用,像素二维码
    13  
    14 def sendblogmsg(content):
    15     #搜索自己的好友,注意中文字符前需要+u
    16     my_friend = bot.friends().search(u'王琳杰')[0]
    17     my_friend.send(content)
    18 
    19     my1_friend = bot.friends().search(u'浮生若梦')[0]
    20     my1_friend.send(content)
    21 
    22     my_group = bot.groups().search(u'聊天机器人测试')[0]
    23     my_group.send(content) #发送天气预报
    24 
    25 
    26 
    27     my1_group = bot.groups().search(u'测试')[0]
    28     my1_group.send(content) #发送天气预报
    29  
    30 def job():
    31     resp=urlopen('http://www.weather.com.cn/weather/101010100.shtml')
    32     soup=BeautifulSoup(resp,'html.parser')
    33     tagToday=soup.find('p',class_="tem")  #第一个包含class="tem"的p标签即为存放今天天气数据的标签
    34     try:
    35         temperatureHigh=tagToday.span.string  #有时候这个最高温度是不显示的,此时利用第二天的最高温度代替。
    36     except AttributeError as e:
    37         temperatureHigh=tagToday.find_next('p',class_="tem").span.string  #获取第二天的最高温度代替
    38  
    39     temperatureLow=tagToday.i.string  #获取最低温度
    40     weather=soup.find('p',class_="wea").string #获取天气
    41     contents = '北京' + '
    ' +  '最高温度:' + temperatureHigh + '
    ' + '最低温度:' + temperatureLow + '
    ' +  '天气:' + weather 
    42        # result3 = '最低温度:' + temperatureLow
    43     #print('最低温度:' + temperatureLow)
    44     #print('最高温度:' + temperatureHigh)
    45    # print('天气:' + weather)
    46     sendblogmsg(contents)
    47 #定时
    48 schedule.every().day.at("22:45").do(job) #规定每天12:30执行job()函数
    49 while True:
    50     schedule.run_pending()#确保schedule一直运行
    51     time.sleep(1)
    52 bot.join() #保证上述代码持续运行
  • 相关阅读:
    高程5.4 RegExp类型
    高程5.3 Date类型
    高程5.2.9归并方法
    20151119js上课总结
    从0~100之间随机取出不重复的10个数
    高程5.2.8迭代方法
    HTML常用标签
    20151118小问题
    20151117小问题
    《QT Creator快速入门》
  • 原文地址:https://www.cnblogs.com/wanglinjie/p/9291931.html
Copyright © 2011-2022 走看看