讲解itchat库对微信的处理
将对于itchat中一些方法进行讲解
首先我们引入这个库
import itchat
itchat库的下载可以百度查看教程
首先用这个库实现登陆,运行后会出现二维码,扫码即可,代码
itchat.auto_login(hotReload=True)
括号里的参数表示这次登陆保存一段时间,即在一定时间内运行该程序都不用重新扫二维码登陆。
首先,最重要的一个方法,即获取微信好友所有信息
myfriends = itchat.get_friends()
如果此时print的一下,你就会发现这是json文件,里面有你列表所有好友的身份信息,包括备注、微信名称、个性签名、性别等,当然别人没写的信息就是空。
直接循环即可得出好友列表每个人的信息
for myfriends in myfriends:
if myfriends['RemarkName']: #判断是否有备注。之后['RemarkName']和["UserName"]都是属性值
print(myfriends['RemarkName'])
print(myfriends["UserName"])
运行就可以得到我们要的备注和[“UserName”],在信息中,[“UserName”]是一串数字加字母,我们可以通过这个来给好友发信息,之后讲解。
有时候我们可能需要特定好友的信息,那么久需要用
my_friend = itchat.search_friends(name='name')#name是好友名称
这样就可以获取特定好友的信息,是列表信息,如果要处理,我们可以在my_friend后加[0]即可。
然后是发消息
itchat.send(message,toUserName=myfriends["UserName"])
这就是itchat发消息的方法,message就是你要发的信息,toUserName后面赋值你好友的[“UserName”]即可。
最后给出群发信息的代码:
import itchat
import time
def send_news():
# 登陆你的微信账号,会弹出网页二维码,扫描即可
itchat.auto_login(hotReload=True)
myfriends = itchat.get_friends()
count = 0
message = '打扰了,最后一条群发测试信息,勿回。'
for myfriends in myfriends:
#print(myfriends)
if myfriends['RemarkName']:
print(myfriends['RemarkName'])
print(myfriends["UserName"])
itchat.send(message,toUserName=myfriends["UserName"])
time.sleep(0.5)
count += 1
print('发送成功')
print(count)
def main():
send_news()
if __name__ == '__main__':
main()
其中设置每一条信息发送间隔为0.5s,因为好像不加时间发送40多条会自动停。