前言
因工作需要对客户进行信息转发,但微信转发一次只能实现9个,操作慢,费人工。因此,打算实现一个PC端自动转发信息和图片的脚本
编写过程
- 百度查询微信代码模板,最终选用wxauto第三方库作为主要接口,并选择代码模板
- 因为模板是单人,在代码内选择客户,无法方便使用,因此,打算选择Excel表格读取数据的形式去批量调用接口。
- Excel第三方库选择了xlrd。并根据需求自定义客户信息存放方式和读取方式。
- 模板存在图片无法发送的问题。(后文中解决)
代码如下:
如有不会的可以私聊或者留言,后续看到会回复
from wxauto import WeChat
import time, random
import xlrd
import os
print("启动中,提前登录电脑版微信")
wx = WeChat() # 获取当前微信客户端
wx.GetSessionList() # 获取会话列表
print("启动完成")
def getfiles():
filenames=os.listdir("图片/")
print(filenames)
return filenames
def excel_info():
data = xlrd.open_workbook('新建 XLSX 工作表.xlsx') # 打开文件
table = data.sheet_by_index(0) # 获取工作表
nrows = table.nrows # 行列表
whos_list = []
msg = []
for i in range(1,nrows ):
list1 = table.row_values(i)
whos_list.append(list1[0:2])
msg.append(list1[2])
# 发送信息
send_msg(whos_list,msg)
def send_msg(whos,msg):
filelist = getfiles()
cnt = 0
for i in whos:
who = i[0]
if i[1] != "" :
message = i[1] + "," + msg[cnt] # 称呼和发送消息合并
else :
message = msg[cnt]
cnt += 1
time.sleep(random.randint(1, 2)) # 随机等待10-20s
#wx.ChatWith(who) # 打开聊天窗口
wx.Search(who) # 查找微信好友,不会在当前聊天栏滚动查找
wx.SendMsg(message)
for file in filelist: # 将文件夹的图片全部发送
#print("图片/" + file)
wx.SendFiles(r'C:\Users\Administrator\Desktop\图片\1.jpg',not_exists='ignore')
print("end send", i[0])
print("All end send")
def check():
checklist = ["103220014","103220013","103220012","103220011","103220010"]
print("请输入你的工号:")
str1 = input()
if str1 in checklist :
return True
else:
print("无权访问")
return False
if __name__ == '__main__':
getfiles()
if(check() == True):
excel_info()
遇到的问题
在代码运行的时候,会发现图片无法发送的情况,这是因为pip 下载的wxauto第三方库无法匹配微信客户端3.7的版本。如果有遇到,可以通过Github的方式下载源码
代码下载
打包源码,生成可执行文件,可以在没有编程环境的情况下运行
https://download.youkuaiyun.com/download/qq_42894605/86503802