【python+selenium】微信自动发送天气信息
每天自动发送一个带有天气生活提示的信息
提醒家人朋友穿秋裤的自动程序
主要思路:
# 1.使用selenium爬取天气信息
# 2.用pyautogui和pyperclip自动化控制电脑操作
③ 将好友名放入剪切板
④ Ctrl+V粘贴好友名
⑤ Enter确认第一个
⑥ 将要发送的内容放入剪切板
⑦ Ctrl+V粘贴内容
⑧ Enter发送
代码实现:
爬取天气数据:
导入selenium库:
# 爬天气 import time from selenium.webdriver import Chrome from selenium.webdriver.chrome.options import Options
设置selenium(无头):
# 设置无头
opt = Options()
opt.add_argument("--headless")
opt.add_argument("--disable-gpu")
web = Chrome(options=opt)
用户选择城市、发送对象:
c = input(city>>>)
u_name = input("user_name>>>")
愉快的爬取:
url = https://weathernew.pae.baidu.com/weathernew/pc?query= + c + 天气&srcid=4982 web.get(url) # 城市 city = web.find_element_by_xpath(//*[@id="sfr-app"]/div/div[2]/div/div[2]/div/div[1]/div[1]/p[1]/span[1]).text # 天气 wea = web.find_element_by_xpath(//*[@id="sfr-app"]/div/div[2]/div/div[2]/div/div[1]/div[1]/p[1]/span[2]).text # 当前温度 tem = web.find_element_by_xpath(//*[@id="sfr-app"]/div/div[2]/div/div[2]/div/div[1]/div[2]/div[1]/span).text # 详细信息 detail = web.find_element_by_xpath(//*[@id="sfr-app"]/div/div[2]/div/div[2]/div/div[1]/div[3]).text # 生活指数 life = web.find_element_by_xpath(//*[@id="sfr-app"]/div/div[2]/div/div[3]/div[3]/div[2]).text # 关闭浏览器 web.close()
合成信息:
# 合成信息
mes = f"当前城市:{city}
今日天气{wea}
实时温度:{tem}
详细信息:{detail}
生活指数:{life}"
导入库:
# 导入自动化控制库 import pyautogui as pg import pyperclip as pc
发送信息:
pg.PAUSE = 0.5 pg.hotkey(ctrl, alt, w) time.sleep(3) pg.sleep(2) pg.hotkey(ctrl, f) pc.copy(str(u_name)) pg.hotkey(ctrl, v) pg.press(enter) # 获取时间 t = time.localtime() date = str(t.tm_year) + "年" + str(t.tm_mon) + 月 + str(t.tm_mday) + 日 pc.copy(现在是 + date) pg.hotkey(ctrl, v) pc.copy(mes) pg.hotkey(ctrl, v) pg.press(enter) pg.press(esc)
完成!!!
打包exe(保留.py)下载:
不太懂的可以下载自己试一试
