python itchat给指定联系人发消息的方法

yipeiwu_com6年前Python基础

itchat模块

官方参考文档:https://itchat.readthedocs.io/zh/latest/

安装

pip install itchat / pip3 install itchat

原理

Python模仿网页版微信登陆,并且现有一套操作网页版微信的API,可以将你使用微信中产生的数据爬下来,并做出相应的处理。

操作

1.导入这套微信API的包itchat

import itchat

2.模仿网页版微信登陆

itchat.auto_login()

3.使用相关函数找到相关微信联系人信息(这里返回的是一个JOSN数组)

users=itchat.search_friends("飞叔Brother")

4.得到相关联系人的用户名(具体想看JOSN内部都是什么数据可以自己打印出来看看)

userName= users[0]['UserName']

5.发送信息到相关联系人

itchat.send('你好飞叔Brother',toUserName=userName)

至此,就会发送成功了。

import itchat
itchat.auto_login()
itchat.send('Hello, filehelper', toUserName='filehelper')

这段代码意思是给filehelper发送一个hello,filehelper就是文件助手。

那么我们想给指定的人发消息,并不是把filehelper改掉这么简单

users=itchat.search_friends("老王")
userName= users[0]['UserName']
print(userName)
itchat.send('你好老王',toUserName=userName)

如果我们想给老王发消息,就先使用itchat.search方法,会把所有备注名为老王的联系人全都找出来。

之后我们选取第一个(如果你的联系人列表里只有一个老王,那么就只会搜出来一个)

users[0]取到的是一个联系人对象,他里面有个key叫UserName,它就是真正的用户的username

之后我们再使用itchat.send方法,就可以成功向老王发送消息了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中的lstrip()方法使用简介

 lstrip()方法返回所有字符被去除开头字符串(缺省为空格字符)的一个复本。 语法 以下是lstrip()方法的语法: str.lstrip([chars]) 参...

python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解

python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解

将时间信息“2018-02-04  18:23:35“ 解析成字典形式的结果 如:{‘year':2018,‘month':2,‘day':4,‘hour':18:‘minut...

详细介绍Python函数中的默认参数

import datetime as dt def log_time(message, time=None): if time is None: time=dt.da...

Django logging配置及使用详解

1. settings.py文件 做开发离不开必定离不开日志, 以下是我在工作中写Django项目常用的logging配置. # 日志配置 BASE_LOG_DIR = os.pa...

解决python写入带有中文的字符到文件错误的问题

在python写脚本过程中需要将带有中文的字符串内容写入文件,出现了报错的现象。 ---------------------------- UnicodeEncodeError: 'as...