【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)下载:

不太懂的可以下载自己试一试

经验分享 程序员 微信小程序 职场和发展