软件测试开发频道
频道主
#每日代码-摸鱼小助手
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:怪盗LYL
@file:摸鱼.py
@time:2022/03/16
"""
import datetime
import json
import requests
import sxtwl
class Jiejiari(object):
def __init__(self,today):
# zhongqiu = datetime.date(2022, 9, 10) # 中秋节
# guoqing = datetime.date(2022, 10, 1) # 国庆节
yuandan = datetime.date(2025, 1, 1) # 元旦节
chunjie = datetime.date(2025, 1, 29) # 春节
self.__mydict = {}
# zhongqiu_tianshu =
# guoqing_tianshu =
yuandan_tianshu =
chunjie_tianshu =
self.__mydict["元旦"] = yuandan_tianshu
self.__mydict["春节"] = chunjie_tianshu
day = sxtwl.fromSolar(today.year, today.month, today.day)
jqmc = ["冬至", "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑",
"白露",
"秋分", "寒露", "霜降", "立冬", "小雪", "大雪"]
Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"];
Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
ShX = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"]
WeekCn = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
# 公历的年月日
self.__riqi_gongli = "%d年%d月%d日" % (day.getSolarYear(), day.getSolarMonth(), day.getSolarDay())
self.__week = day.getWeek()
self.__Week = WeekCn[self.__week]
yTG = day.getYearGZ(True)
self.__tiangan = Gan[yTG.tg] + Zhi[yTG.dz]
self.__ShX = ShX[yTG.dz]
self.__riqi_nongli = "%s%d月%d日" % (
'闰' if day.isLunarLeap() else '', day.getLunarMonth(), day.getLunarDay())
def __str__(self):
week = self.__week
str_ts = ''
for i in self.__mydict:
stra = str(self.__mydict[i])
str_ts = str_ts + f"距离【{i}】还有:{stra}天\n"
if week <=4:
str_zm = f'距离周末还有: {6-week}天\n'
rest = f"【摸鱼办】提醒您:{self.__riqi_gongli},农历{self.__tiangan}[{self.__ShX}]年{self.__riqi_nongli},{self.__Week},大家好!记得学习锻炼\n【倒计时】\n" + str_zm+str_ts
elif week ==5:
str_zm = f'明天周六\n'
rest = f"【摸鱼办】提醒您:{self.__riqi_gongli},农历{self.__tiangan}[{self.__ShX}]年{self.__riqi_nongli},{self.__Week},大家好。工作再累,一定不要忘记休息哦!经常起身去茶水间,去厕所,去廊道走走别老在工位上坐着,祝愿天下所有打工人,都能愉快的度过每一天…\n【倒计时】\n" + str_zm+str_ts
elif week ==6:
str_zm = f'享受周六\n'
rest = f"【摸鱼办】提醒您:{self.__riqi_gongli},农历{self.__tiangan}[{self.__ShX}]年{self.__riqi_nongli},{self.__Week},周末也要学习锻炼哦\n【倒计时】\n" + str_zm+str_ts
elif week ==7:
str_zm = f'享受周末\n'
rest = f"【摸鱼办】提醒您:{self.__riqi_gongli},农历{self.__tiangan}[{self.__ShX}]年{self.__riqi_nongli},{self.__Week},周末也要学习锻炼哦\n【倒计时】\n" + str_zm+str_ts
return rest
@property
def ShX(self):
return (self.__ShX)
@property
def tiangan(self):
return (self.__tiangan)
@property
def riqi_nongli(self):
return (self.__riqi_nongli)
@property
def riqi_gongli(self):
return (self.__riqi_gongli)
@property
def mydict(self):
return (self.__mydict)
@property
def Week(self):
return (self.__Week)
class Gaode_tianqi(object):
def __init__(self,address):
self.__address = address
url = f"{self.__address}&output=JSON&key=你的key"
payload = {}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
adcode = json.loads(response.text)["geocodes"][0]["adcode"]
self.__adcode = adcode
basejson = self.get_weatherinfo_base()
self.__city = basejson["lives"][0]["city"] #城市名称
self.__weather = basejson["lives"][0]["weather"] #天气现象(汉字描述)
self.__temperature = basejson["lives"][0]["temperature"] #实时气温,单位:摄氏度
self.__winddirection = basejson["lives"][0]["winddirection"] #风向描述
self.__windpower = basejson["lives"][0]["windpower"] #风力级别,单位:级
self.__humidity = basejson["lives"][0]["humidity"] #空气湿度
self.__reporttime = basejson["lives"][0]["reporttime"] #数据发布的时间
self.__forecastlist = self.get_weatherinfo_all()["forecasts"][0]["casts"]
def __str__(self):
str = "未来天气:\r\n"
for i in self.__forecastlist:
str = str+f" 日期:{i['date']} 星期{i['week']} 白:{i['dayweather']} {i['daytemp']}℃ 风向:{i['daywind']} 风力:{i['daypower']} 夜:{i['nightweather']} {i['nighttemp']}℃ 风向:{i['nightwind']} 风力:{i['nightpower']}\r\n"
return f"城市:{self.__city} 当前温度:{self.__temperature}℃ 天气:{self.__weather} 风向:{self.__winddirection} 湿度:{self.__humidity} 发布时间:{self.__reporttime}\n{str}"
@property
def forecastlist(self):
return (self.__forecastlist)
@property
def reporttime(self):
return (self.__reporttime)
@property
def windpower(self):
return (self.__windpower)
@property
def humidity(self):
return (self.__humidity)
@property
def city(self):
return (self.__city)
@property
def winddirection(self):
return (self.__winddirection)
@property
def temperature(self):
return (self.__temperature)
@property
def weather(self):
return (self.__weather)
@property
def address(self):
return (self.__address)
@property
def adcode(self):
return self.__adcode
def get_weatherinfo_base(self):
import requests
url = f"你的key&city={self.__adcode}&extensions=base&output=JSON"
payload = {}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
return json.loads(response.text)
def get_weatherinfo_all(self):
import requests
url = f"你的key&city={self.__adcode}&extensions=all&output=JSON"
payload = {}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
return json.loads(response.text)
if __name__ == '__main__':
today = datetime.date.today()
jiejiari = Jiejiari(today)
print(jiejiari)
listcity = ["北京","营口","上海","无锡"]
for i in listcity:
tianqi = Gaode_tianqi(i)
print(tianqi)
前年写的代码了,用的高德开放平台,注册以后把key提换一下即可
#每日代码
- 下载图片
- 复制图片
2024-10-29
浏览212
教程代码
登录后评论
1
评论
分享
