功能
定期给女朋友每天发天气、提醒、每天发一句话。
资料来源
每天一句话,像上面的大家伙一样,来自ONE。
天气信息来自索杰森。
实现效果
代码说明
目录结构
ci:城市对应编码词典
Con:设置计时时间、女朋友微信名称等参数
GFWea:核心代码
Requiremen:需要安装的库
Run.py:项目执行类
核心代码
GFWea
Class gfweather:
Headers={
用户代理“:”Mozilla(windows nt 10.0;Wow64) applewebki (khtml、like gecko)chrome safari;而且,
}
#女朋友的用户id
Bf_wechat_name_uuid=' '
Def __init__(self):
、=()
Def get_init_data(self):
单击“”
初始化基本数据
:return:
单击“”
With open ('con '' r 'encoding=' utf-8') asf3360
Config=yaml.load(f)
City _ name=con ('city _ name ')。strip()
Start _ date=con ('start _ date ')。strip()
Wechat _ name=con ('wechat _ name ')。strip()
Alarm _ timed=con ('alarm _ timed ')。strip()
Init _ msg=f '每天预定的传输时间:{alarm_timed}\n有女朋友的城市名称:{city_name}\n女朋友的微信昵称:{ WecHAT _ NAMED
列印(u' *' * 50)
打印(init _ msg)
#为了查询天气,根据城市名称获取城市号码。要查看支持的城市,请:
City_code=ci(city_name)
If not city_code:
Print(“输出城市无法接收天气信息”)
Start _ datetime=da (start _ date,' % y-%m-%d ')
Hour,minute=[int(x)for x in alarm _(' ')]
# print(hour,minute)
Returncity _ code、start _ datetime、wechat _ name、hour和minute
Defis _ online (self,auto _ login=false) :
单击“”
判断是否还在线,
: param auto _ log in 3360 true,断开连接时自动登录。
:return: True,仍在线,False未在线
单击“”
Def online():
单击“”
获取朋友信息,判断用户是否还在线
:return: True,仍在线,False未在线
单击“”
tree :
If i():
Return True
Except:
Return False
Return True
I
f online(): return True # 仅仅判断是否在线 if not auto_login: return online() # 登陆,尝试 5 次 for _ in range(5): # 命令行显示登录二维码 # i(enableCmdQR=True) i() if online(): print('登录成功') return True else: return False def run(self): # 自动登录 if not (auto_login=True): return # 定时任务 scheduler = BlockingScheduler() # 每天9:30左右给女朋友发送每日一句 , 'cron', hour=, minute=) () def start_today_info(self): print("*" * 50) print('获取相关信息...') dictum_msg = () today_msg = (dictum_msg) print(f'要发送的内容:\n{today_msg}') if (auto_login=True): # 获取好友username if not _uuid: friends = i(name=) if not friends: print('昵称错误') return _uuid = friends[0].get('UserName') i(today_msg, toUserName=_uuid) print('发送成功..\n') def get_dictum_info(self): ''' 获取格言信息(从『一个。one』获取信息 ) :return: str 一句格言或者短语 ''' print('获取格言信息..') user_url = '' resp = reque(user_url, headers=) soup_texts = BeautifulSou, 'lxml') # 『one -个』 中的每日一句 every_msg = ('div', class_='fp-one-cita')[0].find('a').text return every_msg def get_weather_info(self, dictum_msg=''): ''' 获取天气信息。网址: :param dictum_msg: 发送给朋友的信息 :return: ''' print('获取天气信息..') weather_url = f'{}' resp = reque(url=weather_url) if re == 200 and re().get('status') == 200: weatherJson = re() # 今日天气 today_weather = wea('data').get('forecast')[1] locale.setlocale, 'chinese') today_time = da().strftime('"%Y年%m月%d日 %H:%M:%S"') # 今日天气注意事项 notice = ('notice') # 温度 high = ('high') high_c = high[(' ') + 1:] low = ('low') low_c = low[low.find(' ') + 1:] temperature = f"温度 : {low_c}/{high_c}" # 风 fx = ('fx') fl = ('fl') wind = f"{fx} : {fl}" # 空气指数 aqi = ('aqi') aqi = f"空气 : {aqi}" day_delta = (da() - ).days delta_msg = f'宝贝这是我们在一起的第 {day_delta} 天' today_msg = f'{today_time}\n{delta_msg}。\n{notice}\n{temperature}\n{wind}\n{aqi}\n{dictum_msg}\n来自最爱你的我。' return today_msg项目运行
安装依赖
使用 pip install -r requiremen 安装所有依赖
参数配置
con
#每天定时发送的时间点,如:8:30 alarm_timed: '9:30' # 女友所在城市名称 city_name: '桂林' # 你女朋友的微信名称 wechat_name: '古典' # 从那天开始勾搭的 start_date: '2017-11-11'小编最近整理了一套Python学习教程,有需要的小伙伴,记得关注小编头条号,私信【学习】即可免费领取一套Python学习教程哦