您当前的位置: 首页 >  Python

嗨学编程

暂无认证

  • 1浏览

    0关注

    1405博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python定时发送,天气,文本信息,发送给指定好友、群。

嗨学编程 发布时间:2019-08-15 15:32:03 ,浏览量:1

import requests
from requests import exceptions
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
from wxpy import *
import  schedule
import  time
 '''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
 
#bot=Bot(cache_path=True) #登陆网页微信,并保存登陆状态
bot = Bot(console_qr=2,cache_path="botoo.pkl")#Linux专用,像素二维码
 
def sendblogmsg(content):
    #搜索自己的好友,注意中文字符前需要+u
    my_friend = bot.friends().search(u'王琳杰')[0]
    my_friend.send(content)

    my1_friend = bot.friends().search(u'浮生若梦')[0]
    my1_friend.send(content)

    my_group = bot.groups().search(u'聊天机器人测试')[0]
    my_group.send(content) #发送天气预报



    my1_group = bot.groups().search(u'测试')[0]
    my1_group.send(content) #发送天气预报
 
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标签即为存放今天天气数据的标签
    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)


def sendblogmsg_1(content):
    #搜索自己的好友,注意中文字符前需要+u
    my_friend = bot.friends().search(u'王琳杰')[0]
    my_friend.send(content)

def job_1():

    if bot == None:
        login_wechat()

    contents = '早点休息,晚安?' 
       # result3 = '最低温度:' + temperatureLow
    #print('最低温度:' + temperatureLow)
    #print('最高温度:' + temperatureHigh)
   # print('天气:' + weather)
    sendblogmsg_1(contents)




#定时
schedule.every().day.at("22:50").do(job) #规定每天12:30执行job()函数
schedule.every().day.at("22:50").do(job_1) #规定每天12:30执行job()函数
while True:
    schedule.run_pending()#确保schedule一直运行
    time.sleep(1)
bot.join() #保证上述代码持续运行
关注
打赏
1663681728
查看更多评论
立即登录/注册

微信扫码登录

0.0565s