资讯专栏INFORMATION COLUMN

超简单!只需简单几步即可为TA定制天气小助理!!

NicolasHe / 2270人阅读

摘要:前提虽然我们每天都会查看天气,但是如果你能够用限制微信每天早上七点定时为推送天气预报,生活指数。重要其中模块是本项目以及后续项目中很重要的模块,就是因为这个开源项目,我们才能使其与微信产生交互。

前提

虽然我们每天都会查看天气,但是如果你能够用限制微信每天早上七点定时为TA推送天气预报,生活指数。直接为TA提供过滤好的天气信息,让TA一目了然。而且操作简单上手,任何人都可以零基础搭建,为你的TA带来一丝小惊喜。

效果如图

准备

运行环境 win10 Linux

python 3.4 版本

一个微信小号

和风天气api

一个编辑器,就是文本编辑器也可以

主要代码 1. 安装 python 3.7 版本

小伙伴如果是 window 电脑可以直接在 Python官网 选择 download 直接下载

直接点击下载好的exe文件进行安装,记得将环境变量配置选项勾选上。如下图:

安装完成之后,我们可以新建文件夹,从git 上将代码clone 下来。我们直接在文件夹中摁住 shift + 鼠标右键 唤出 powerShell 查看 Python 版本。

如果大家还有不明白的可以参考 Python安装教程

2. 为项目安装相关模块
可通过 pip install 直接安装相关模块,如运行时还有因模块报错,也可以直接pip install 模块名直接安装即可。本项目以及后续相关都依赖于以下模块。
#coding=utf8
import requests
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.parse import urlencode
from threading import Timer
import re
from wxpy import *
import  schedule
import  time
import http
import  json 
import datetime
import random

重要: 其中 wxpy 模块是本项目以及后续项目中很重要的模块,就是因为这个开源项目,我们才能使其与微信产生交互。

wxpy
控制路由器、智能家居等具有开放接口的玩意儿
运行脚本时自动把日志发送到你的微信
加群主为好友,自动拉进群中
跨号或跨群转发消息
自动陪人聊天
逗人玩
...

项目介绍以及安装方法,大家可以去主页想看wxpy

3. 初始化机器人

参考 登录文档

bot = Bot(cache_path=True,console_qr = 1)
// 初始化机器人,扫码登录 console_qr 是用于登录的二维码展示默认为1
bot.enable_puid("wxpy_puid.pkl")
// 机器人启用 puid 属性,并指定 puid 所需的映射数据保存/载入路径
4. 设置模拟请求接口相关
def api(url):
    header = {
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.8",
        "Connection": "keep-alive",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.235"
    }
    timeout = random.choice(range(80, 180))
    data = requests.get(url, headers=header, timeout=timeout)

    return data.json()

header 中用来设置模拟请求接口的浏览器相关参数防止api 以为我们是爬虫抓取。并设定随机请求时间。

5. 设置相关请求,以及需要的信息字段拼接
def sendweather(city, xx):
    url = "https://free-api.heweather.com/s6/weather/forecast?location="+city+"&key=和风key"
    PMurl = "https://free-api.heweather.com/s6/air/now?parameters&location="+city+"&key=和风key"
    lifeurl = "https://free-api.heweather.com/s6/weather/lifestyle?location="+city+"&key=和风key"
    
    temp = api(url)
    temp = temp["HeWeather6"][0]
    update = temp["update"]
    now = temp["daily_forecast"][0]
    nowTime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    pm = api(PMurl)
    pm = pm["HeWeather6"][0]
    airnow = pm["air_now_city"]

    life = api(lifeurl)
    
    life = life["HeWeather6"][0]
    life = life["lifestyle"]
    result =  xx + city +" ---" + "
"+ "
"
    + "          今天天气:"+ now["cond_txt_d"] + " 转 " + now["cond_txt_n"] + "
"
    + "          今天温度:"+ now["tmp_min"] + "°C ~ " + now["tmp_max"] + "°C" + "
"
    + "          风向:"+ now["wind_dir"] + " " + now["wind_sc"] + "级 "+ now["wind_spd"] + "公里/小时"+ "
"
    + "          相对湿度:"+ now["hum"] + "%" + "
"
    + "          降水量:"+ now["pcpn"] + "ml" + ",降水概率:"+ now["pop"] + "%" + "
"
    + "          能见度:"+ now["vis"] + "公里" + "
"
    + "------------------------------------------" + "
"
    + "今天空气质量:"+"
"
    + "          空气质量指数:"+ airnow["aqi"]+"
"
    + "          主要污染物:"+ airnow["main"]+"
"
    + "          空气质量:"+ airnow["qlty"]+"
"
    + "          二氧化氮指数:"+ airnow["no2"]+"
"
    + "          二氧化硫指数:"+ airnow["so2"]+"
"
    + "          一氧化碳指数:"+ airnow["co"]+"
"
    + "          pm10指数:"+ airnow["pm10"]+"
"
    + "          pm25指数:"+ airnow["pm25"]+"
"
    + "          臭氧指数:"+ airnow["o3"] +"
"
    + "------------------------------------------" + "
"
    + "1、"+ life[0]["txt"]+"

"
    + "2、"+ life[1]["txt"]+"

"
    + "3、"+ life[2]["txt"]+"

"
    + "           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44105.html

相关文章

  • 520心爱的TA定制一个生活助理

    摘要:只需要短短的几行代码结合微信就可以为你心爱的打造一个贴心智能小助理。每天早上的时候准时推送今天天气情况生活指数等。只需要两行代码即可注册一个定时执行事件,写好提前想好的提醒语。淡忘你的小可爱提醒你该喝水了快喝一杯水showImg(https://user-gold-cdn.xitu.io/2019/5/20/16ad55bc4cf835a7); 只需要短短的几行代码结合微信就可以为你心爱的T...

    王陆宽 评论0 收藏0
  • 拥有一款属于自己的程序之入门-天气程序

    摘要:润物无声,做一个有个格调的小程序快应用现在可谓是家喻户晓,也更加密切的渗透入我们的生活中,笔者也算是个爱折腾的人,俗话说的好嘛,不折腾,不前端当然是笔者自己的小心声。于是在平日里忙碌的工作之余抽出来时间搞点事情来写一个属于自己的贴身小天气。 ———— 润物无声,做一个有个格调的coder小程序、快应用现在可谓是家喻户晓,也更加密切的渗透入我们的生活中,笔者也算是个爱折腾的人,俗话说的好...

    Anchorer 评论0 收藏0
  • 程序 · 云开发

    摘要:课程内容以打造一款拥有天气预报和签到功能的小程序为主线,从基础知识到小程序运行机制,从开发环境搭建到小程序云开发的接口使用调试上线,打通微信小程序开发全流程。 9 月 11 日,微信开发者工具新增小程序「云开发」功能。 showImg(https://segmentfault.com/img/bVbjQLW?w=1000&h=544); 大多数开发者在开发应用时和部署服务时,无论是选择...

    nanchen2251 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<