小六小六你真6 发表于 2021-4-22 16:33

Python写每日播报天气

本帖最后由 小六小六你真6 于 2021-4-22 16:36 编辑

爬取每日播报天气,厌烦了钉钉的 知心天气?那就自己动手更换一个!{:1_927:}
先看效果:



************************************************************************************
运行环境 Python3.6 代码如下 (新手+英语渣渣,大神勿喷{:1_923:})
************************************************************************************
import requests
import re
import json
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "your webhook"
##从钉钉机器人设置中拷贝
def msg(text):
    json_text= {
   "msgtype": "text",
      "text": {
            "content": text
      }
    }
    requests.post(api_url,json.dumps(json_text),headers=headers).content

hearders = "User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"

# 天气API地址,城市代码用点心,在官网可以查询到,以下为西安的代码
api = 'http://t.weather.itboy.net/api/weather/city/101110101'
res = requests.get(api)
res = res.content.decode()
data = json.loads(res)

# 赋值重复数据变量
shuju = data["data"]["forecast"]
# 最高温度
high = shuju["high"]
# 最低温度
low = shuju["low"]
#当前时间
ymd = shuju["ymd"]
# 星期几
week = shuju["week"]
# 日出
sunrise = shuju["sunrise"]
# 日落
sunset = shuju["sunset"]
# 天气类型
type = shuju["type"]
# 风向
fx = shuju["fx"]
# 风力
fl = shuju["fl"]
# 生活提示
notice = shuju["notice"]
# 打印天气数据
tq_infos = "[爱意]小六播报天气啦,今天是:"+ymd+" "+week+" 最"+high+" 最"+low+" 天气:"+type+" "+fx+":"+fl+" 日出:"+sunrise+" 日落:"+sunset+" "+notice

msg(tq_infos)

修改第7行your webhook为你的机器人webhook即可


钉钉设置如下:
在群聊添加智能群助手-添加机器人-自定义机器人:




安全模式建议为关键词:天气

那一年的白洁啊 发表于 2021-4-22 18:08

本帖最后由 那一年的白洁啊 于 2021-4-22 18:10 编辑

requests支持response.json(),不用import json
所以,前边改成这样就行啦~
import requests


api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx"


def msg(text):
    json_text = '{"msgtype": "text", "text": {"content": "' + text + '"}}'
    requests.post(api_url, json_text.encode("utf-8")).json()


api = 'http://t.weather.itboy.net/api/weather/city/101180101'
data = requests.get(api).json()

后边解析每天天气用for循环~

小六小六你真6 发表于 2021-4-22 18:19

那一年的白洁啊 发表于 2021-4-22 18:08
requests支持response.json(),不用import json
所以,前边改成这样就行啦~
im ...

学到了,感谢大佬

qujf 发表于 2021-4-22 16:38

大神666,人生苦短,我用python

qujf 发表于 2021-4-22 16:39

print('人生苦短,我用python')

继续路过 发表于 2021-4-22 16:50

学习了,谢谢分享

muelfox 发表于 2021-4-22 16:52

楼主可以来个WX机器人吗

长街依恋 发表于 2021-4-22 16:52

python让我也来越飘,越来越完善

小六小六你真6 发表于 2021-4-22 17:06

muelfox 发表于 2021-4-22 16:52
楼主可以来个WX机器人吗

WX一样的,替换webhook即可

elevo 发表于 2021-4-22 17:16

果然是会玩的,是不是还得打开一次钉钉

四个二带两王 发表于 2021-4-22 17:19

感谢分享。。。支持一击

syz17213 发表于 2021-4-22 17:22

来学习下
页: [1] 2
查看完整版本: Python写每日播报天气