【python--教程】itchat编写每天推送天气预报程序

itchat编写每天推送天气预报程序


程序分为两部分
第一部分:爬取信息
代码如下:

# -*- coding:utf-8 -*-
import requests
from lxml import etree
def get_tianqi():
    get_tianqi_url = "https://tianqi.2345.com/wulumuqi/51463.htm"
    get_tianqi_headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0",}
    html = requests.get(url=get_tianqi_url,headers=get_tianqi_headers)
    html.encoding="gbk"
    html_etree = etree.HTML(html.text)
    #获取天气情况和温度
    now_date = "".join(html_etree.xpath('//ul[@class="clearfix has_aqi"]/li[1]/p//text()')).replace("\n","")
    now_tianqi_qingkuang =  "".join(html_etree.xpath('//ul[@class="clearfix has_aqi"]/li[1]/b/text()'))
    now_wendu = "~".join(html_etree.xpath('//ul[@class="clearfix has_aqi"]/li[1]/i/font/text()'))
    now_fenli = "".join(html_etree.xpath('//ul[@class="clearfix has_aqi"]/li[1]/i/text()')[1])
    tormorrow_tianqi_qingkuang = "".join(html_etree.xpath('//ul[@class="clearfix has_aqi"]/li[2]/b/text()'))
    tormorrow_wendu = "~".join(html_etree.xpath('//ul[@class="clearfix has_aqi"]/li[2]/i/font/text()'))
    
    #-----------------获取空气质量
    get_air_url = "https://tianqi.2345.com/air-51463.htm"
    air_html = requests.get(url=get_air_url,headers=get_tianqi_headers)
    air_html_etree = etree.HTML(air_html.text)
    air_zhiliang = air_html_etree.xpath('//div[@class="td td2"]//text()')[0]
    #温馨提示
    air_message = air_html_etree.xpath('//dl[@class="tip"]//text()')
    #组合消息
    send_message = "群助手天气播报\n"
    send_message += now_date+"\n"
    send_message += "天气:"+now_tianqi_qingkuang+"  温度:"+now_wendu+"\n"
    send_message += "风力"
    send_message += "空气质量:"+air_zhiliang+"\n"
    send_message += air_message[0]+air_message[1]+"\n"
    send_message += "明天天气:"+tormorrow_tianqi_qingkuang+"   温度:"+tormorrow_wendu
    print ("程序已经运行")
    return send_message    

第二部分:定时微信发送

def wx_send():
    itchat.auto_login(hotReload=True)
    user = itchat.search_friends(name="青天白日")[0]["UserName"]
    itchat.send(msg=get_tianqi(),toUserName=user)

sched = BlockingScheduler()
sched.add_job(wx_send, 'cron', hour=7,minute=1,second=00)
sched.start()
itchat.run()

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值