📜  Python| Whatsapp 生日机器人(1)

📅  最后修改于: 2023-12-03 15:34:17.550000             🧑  作者: Mango

Python| Whatsapp 生日机器人

简介

这是一个用Python编写的自动化生日祝福机器人,它可以在用户指定的时间,向用户指定的联系人发送生日祝福消息。

功能
  • 支持通过excel表格读取联系人信息
  • 支持自定义生日祝福消息格式
  • 支持指定发送时间,也可以在每日指定时间自动发送祝福消息
  • 支持输出日志,方便查看操作情况
安装依赖
  • 使用selenium库操作浏览器,需要下载对应浏览器的驱动
  • 使用pyautogui库实现键盘鼠标操作,需要先安装
  • 安装所需库
pip install selenium
pip install pyautogui
pip install pandas
pip install openpyxl
pip install schedule
代码示例

以下是代码示例,仅供参考:

import pandas as pd
from openpyxl import load_workbook
import time
import schedule
import pyautogui as pag
from selenium.webdriver import Chrome

# 浏览器驱动路径
driver_path = 'chromedriver.exe'

# Excel 文件路径
file_path = 'contacts.xlsx'

# 祝福消息格式
msg = 'Hi {}!祝你生日快乐,天天开心!'

# 发送时间,24小时制
send_time = '9:00'

# 获取今天日期
today = time.strftime('%m/%d', time.localtime())

# 将Excel数据读入 DataFrame
df = pd.read_excel(file_path, index_col='姓名')

# 初始化浏览器
def init_driver():
    driver = Chrome(driver_path)
    driver.set_window_size(1366, 768)
    driver.get('https://web.whatsapp.com/')
    print('请在30秒内扫描二维码登录WhatsApp Web')
    time.sleep(30)
    return driver

# 发送生日祝福消息
def send_birthday_wishes():
    # 加载浏览器驱动
    driver = init_driver()
    # 遍历 DataFrame 数据
    for index, row in df.iterrows():
        # 判断是否是今天生日
        if row['生日'].strftime('%m/%d') == today:
            # 定位联系人
            pag.hotkey('ctrl', 'f')
            pag.typewrite(index)
            pag.press('enter')
            time.sleep(2)
            # 发送消息
            pag.typewrite(msg.format(index))
            pag.press('enter')
            time.sleep(2)
    # 退出浏览器
    driver.quit()

# 设置定时任务
schedule.every().day.at(send_time).do(send_birthday_wishes)

while True:
    schedule.run_pending()
    time.sleep(1)
结语

以上就是本文介绍的 Python| Whatsapp 生日机器人,希望可以帮助大家提升工作效率和生活质量。如果在使用过程中遇到问题,欢迎在评论区留言,我们会第一时间回复您。