本系列内容不定期更新我在自学python的过程中收集的小程序,希望能给到刚刚接触python的小伙伴们一些帮助,不积跬步无以至千里,让我们开始吧。
06 用python玩转微信
问题描述:
再过一个多月,就要过年了,又到了我们要发祝福语的时候了!单独发太累,群发又不够意思,那能怎么办呢?不如,我们用python来试一试?!我们可以创建一个模板,把名字或者其他需要单独发送的消息保存在一个表格里。接着,我们读取到表格,并通过python的微信模块就可以顺利的把消息发出去啦,快来试试看吧。
主要思路:
1、导入csv文件
2、数据的预处理(把数据存到一个列表里)
3、创建一个模板(format)
4、用 wxpy 模块 发送消息
一些小细节:
1.csv模块
f = open(“04微信批量发送定制消息.csv”, “r”)
reader = csv.DictReader(f)
# 用csv模块读取文件,返回字典类型 {“姓名”:“微信ID(备注)”, “内容”:“你好啊”}
2.占位符(模板)
d = “{n}-{t}”
d.format(n=msg[“姓名”], t=msg[“内容”]
3.一行代码
[i for i in range(5)]
# [0, 1, 2, 3, 4]
4.wxpy 模块
bot = wxpy.Bot()
f = bot.friends().search(friend_name)
很有趣,想了解更多,可移步下方链接!
[link]https://wxpy.readthedocs.io/zh/latest/扫描二维码关注公众号,回复: 5077889 查看本文章
实现代码:
import csv
import wxpy
import time
def read_csv():
f = open("04微信批量发送定制消息.csv", "r")
reader = csv.DictReader(f)
# 用csv模块读取文件,返回字典类型 {"姓名":"微信ID(备注)", "内容":"你好啊"}
return [info for info in reader]
# [{字典1}, {字典2}, 、、、]
def make_msg(raw_msg):
d = "{n}-{t}"
return [d.format(n=msg["姓名"], t=msg["内容"])
for msg in raw_msg]
# [d1,d2,、、、]
def send_msg(msg):
bot = wxpy.Bot()
for info in msg:
fri_name = info.split("-")[0]
f = bot.friends().search(fri_name)
if len(f) == 1:
f[0].send(info)
else:
print("请检查姓名!")
time.sleep(3)
# 测试部分
csv_list = read_csv()
msg_list = make_msg(csv_list)
print(msg_list)
send_msg(msg_list)
运行结果:
确实成功了,涉及隐私,这里就不展示了。
再会!