功能
定期给女朋友每天发天气、提醒、每天发一句话。
资料来源
每天一句话,像上面的大家伙一样,来自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) return city_code, start_datetime, wechat_name, hour, minute def is_online(self, auto_login=False): ''' 判断是否还在线, :param auto_login:True,如果掉线了则自动登录。 :return: True ,还在线,False 不在线了 ''' def online(): ''' 通过获取好友信息,判断用户是否还在线 :return: True ,还在线,False 不在线了 ''' try: if i(): return True except: return False return True if 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学习教程哦