概述
所以,本次的代码设计思路分为两个部分。
获取你的所有微信好友
针对你想发送信息的好友发送祝福语
对于我的微信好友,我有一个习惯,会将好友的备注填上,这样的话,即使好友修改昵称,在我的手机上显示的名称也不会发生改变,有利于自己对好友进行识别。
所以,这里我是获取所有微信好友的备注名称,即 RemarkName(当然,如果你的好友大部分是没有进行备注的,你可以试试 DisplayName或者 NickName)
#coding=utf8
import itchat, time
import pandas as pd
itchat.auto_login(True)
friendList = itchat.get_friends(update=True)[1:]
# --------------------------start------------------------------
# step 1: 获取所有的微信好友列表,在获取完毕后,需要注释掉这段代码
# 从获得的好友列表里筛选你想发送消息的好友,同时可以将好友按照不同的分组进行设置
# 获取所有微信好友列表,这里我获取的是好友的备注名称
count_02 = 0
friends_remark = []
for friend in friendList:
friends_remark.append(friend['RemarkName'])
count_02 = count_02 + 1
# df_friends = pd.Series(friends_remark)
# df_friends.to_csv('friends.csv', encoding='utf_8_sig') # utf-8
print(friends_remark)
print("Total {} friends".format(count_02))
# -------------------------end---------------------------------
在上面的代码中, print(friends_remark)会输出你的所有好友,你可以从里面挑选你想发送消息的好友,同时可以分为几个不同的组。 后续可以考虑针对不同分组的好友发送不同的祝福内容。
步骤二: 将好友分组,并发送消息
在获取了所有好友之后,首先请先把上面的 step1的代码进行注释,然后需要从你的所有好友里挑选想发送消息的好友的名称,可以分别填入到下面代码中的 friend_msg_list_01或 friend_msg_list_02。
其次,需要设置发送的祝福语的内容。
把以上内容设置好之后,则可以参考下面的代码进行设置,以及运行代码。
以下的代码,默认将好友分为两组,当然,你也可以设置更多的分组,在后面添加 elif条件语句进行发送设置即可。
# --------------------------start------------------------------
# step 2: 给指定好友按不同分组发送不同的消息
# 在运行 step 1 的代码时,这里的代码需要注释
# 定义要发送的好友的范围,防止自动乱发消息
# 好友列表里,我用的是 备注名称
friend_msg_list_01 = ["lemon-zs", "lemon-zs-01"] # 根据自己的实际情况设置好友分组
friend_msg_list_02 = ["lemon-zs-02", "lemon-zs-02" ] # 根据自己的实际情况设置好友分组
#设置不同好友分组需要发送的内容
SINCERE_WISH = u'test, 祝%s新年快乐!' # 根据自己的实际情况设置祝福内容
msg_01 = 'test01, 祝新年快乐!!!' # 根据自己的实际情况设置祝福内容
msg_02 = 'test02, 祝新年快乐!!!' # 根据自己的实际情况设置祝福内容
count = 0
for friend in friendList:
# 通过 if 条件设置,可以只针对 指定的好友发送消息
# 也可以设置为几个分组,不同分组发送不同的消息
# 由于我的好友一般都设置了备注名称, 即 "RemarkName",所以我是用 备注名称来作为条件判断
# 主要是为了防止别错发给一些不能随便发送信息的老板或领导或其他人士
if friend['RemarkName'] in friend_msg_list_01:
# itchat.send( SINCERE_WISH % (friend['DisplayName'] or friend['NickName']), friend['UserName'])
itchat.send( SINCERE_WISH % (friend['DisplayName'] or friend['NickName']), friend['UserName'])
time.sleep(5)
count = count + 1
elif friend['RemarkName'] in friend_msg_list_02:
itchat.send( msg_01, friend['UserName'])
time.sleep(5)
count = count + 1
print("Total {} messages have been sent.".format(count))
print("----end----")
# -------------------------end---------------------------------
友情提醒下:
itchat 在使用过程中,如果频繁调取与发送消息,可能会导致微信被封,请谨慎使用。当发送消息的人员很多时,请适当设置每发送一个之后的休息时间间隔,即 time.sleep(5)。
友情提醒下:
itchat 在使用过程中,如果频繁调取与发送消息,可能会导致微信被封,请谨慎使用。当发送消息的人员很多时,请适当设置每发送一个之后的休息时间间隔,即 time.sleep(5)。
完整的代码文件,可以在公众号『书圈』后台回复 "老猫荐书" 来获取。
-END-
京东首发热卖中
600分钟超长视频讲解!本书案例具有实用性,例如校园网搜索引擎、小小翻译器、抓取百度图片这些爬虫案例略加修改可以应用到实际项目中;还有通过微信通信协议开发微信机器人、机器学习的文本分类、基于卷积神经网络的手写体识别等案例;另外是一些大家耳熟能详的游戏案例,例如连连看、推箱子、中国象棋、网络五子棋、两人麻将、人物拼图和飞机大战等游戏。
扫描,京东优惠购书中...
将获得额外Python大礼包(资源丰富)
更多精品图书
最后
以上就是酷炫花瓣为你收集整理的python有趣小程序春节祝福-轻松玩转Python发送新春祝福给指定好友的全部内容,希望文章能够帮你解决python有趣小程序春节祝福-轻松玩转Python发送新春祝福给指定好友所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复