背景需求:

      上一篇初步实现了python模拟鼠标给不同的微信用户发送不一样的账户信息。  但是这套代码里面的数据来源是手工输入的。我不可能将所有的老师的信息都通过这种方式手工输入并呈现。

python模拟微信添加好友_大数据

      通常教师的名字、用户名和初始sin都是来源于一个excel文件。内容有用户名、账号、初始sin

python模拟微信添加好友_python模拟微信添加好友_02

python模拟微信添加好友_数据_03

 因此,阿夏进一步尝试如何从导出的excel里调用数据,引入python代码中进行微信自动发送。

代码演示:

0、文件路径

excel在“D:\test”下面

python模拟微信添加好友_微信_04

1、向4位老师的微信,发送他们自己的用户名和初始sin 

python模拟微信添加好友_微信_05

 2、代码样式(随便放在任意路径下)

'''原始作者:shiyu_mj于 2022-01-13 16:44:58 发布
阿夏补充修改于2022-07-09 16:11发布'''

'''
需求:
从excel导入4个用户名和密码
用python,通过微信自动发送给每个人自己的用户名和密码
'''
from datetime import datetime
import time
import pyautogui as pg
import pyperclip as pc
import sys

import time
import pyperclip
import win32api
import win32con
import os
import xlrd
     
    
inpath = 'D:\\test\\用户名密码.xlsx'#excel文件所在路径
data = xlrd.open_workbook(inpath, encoding_override='utf-8')
table = data.sheets()[0]#选定第一张表
nrows = table.nrows#获取行号
ncols = table.ncols#获取列号

for i in range(1, nrows):#第0行为表头
    alldata = table.row_values(i)#循环输出excel表中每一行,即所有数据
    name = alldata[0]#取出表中第二列数据
    user_name = alldata[1]#取出表中第二列数据
    sin = alldata[2]#取出表中第二列数据    
    print(name,user_name,sin)  
 
    class SendMsg(object):        # 自动发送程序
                    
        def __init__(self):                                    
            self.name = name
            self.msg = '''{}老师:\n\nXX学分网网址:http:\\1234.shedu.sh.cn
                        \n您的用户名是:\n\n{}\n\n您的初始密码是:\n\n{}
                        \n(python机器人测试,请忽略,不用回复)'''.format(name,user_name,sin)
                            # 发送不同的消息 # 这里还要注意两位数
            # self.msg = '{}老师,12121.本信息为预设程序自动发送。不用回复。\n2.如果已经完成,请忽略。'.format(n[0])
            # n[0]表示只要”张三丰“里的”张“,结果就是”张老师“,n(去掉[0]),结果就是”张三丰老师“
            

        def send_msg(self):
            # 操作间隔为1秒
            pg.PAUSE = 1
            pg.hotkey('ctrl', 'alt', 'w')
            pg.hotkey('ctrl', 'f')

            # 找到好友
            pc.copy(self.name)
            pg.hotkey('ctrl', 'v')
            pg.press('enter')

            # 发送消息
            pc.copy(self.msg)
            pg.hotkey('ctrl', 'v')
            pg.press('enter')

            # 隐藏微信
            time.sleep(0.5)
            pg.hotkey('ctrl', 'alt', 'w')
            


    if __name__ == '__main__':
        s = SendMsg()
        # while True:
        for i in range(1):      # 每句话发送几次,如001发送两次=001 001 ,002两次=002、002:
            s.send_msg()
            # n +=/ 1
            #         
sys.exit(0) # 发送完成后,退出
    # 与第一个for 平行  每个账户发送两次不同编号

'''
进一步需求:
1、可以选择班组发送
2、设置时间定时提醒、然后定时发送

'''

3、启动微信:确保右下角的微信开着。

python模拟微信添加好友_大数据_06

发送效果展示

视频过程演示


20220709用excel给不同微信用户发“用户名和密码


01信息核对

python模拟微信添加好友_大数据_07

python模拟微信添加好友_微信_08

python模拟微信添加好友_微信_09

 

python模拟微信添加好友_大数据_07

  

python模拟微信添加好友_大数据_11

python模拟微信添加好友_数据_12

总结:

1.用这种方法,就可以轻松将个人的信息单独发给个人。保护隐私

2、电脑自动发送,方便快捷。避免遗漏。

2.后续进行时间和班组选择设置。