#每日代码-摸鱼小助手
 
#!/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 = today.__rsub__(zhongqiu).days 
# guoqing_tianshu = today.__rsub__(guoqing).days 
yuandan_tianshu = today.__rsub__(yuandan).days 
chunjie_tianshu = today.__rsub__(chunjie).days 
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"https://restapi.amap.com/v3/geocode/geo?address={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"https://restapi.amap.com/v3/weather/weatherInfo?key=你的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"https://restapi.amap.com/v3/weather/weatherInfo?key=你的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
教程代码
登录后评论
评论
分享