使用itchat可以简单操作微信,进行好友和群消息的发送

安装:

pip install itchat

使用:

import itchat, time

# 登录
itchat.auto_login(hotReload=True) def send_one_group(msg, g_name):
"""
给某个组发送消息
:param msg:
:param g_name:
:return:
"""
rooms = itchat.search_chatrooms(g_name)
if rooms is not None:
user_name = rooms[]['UserName']
itchat.send(msg, toUserName=user_name)
else:
print("None group found") def send_all_group(msg):
"""
给所有组发送消息
:param msg:
:return:
"""
rooms = itchat.get_chatrooms(update=True)
if rooms is not None:
for r in rooms:
user_name = r['UserName']
itchat.send(msg, toUserName=user_name)
else:
print("None group found") def send_one_person(msg, p_name):
"""
给某个人发消息
:param msg:
:param p_name:
:return:
"""
persons = itchat.search_friends(p_name)
if persons is not None:
user_name = persons[]['UserName']
itchat.send_msg(msg, toUserName=user_name)
else:
print("None person found") def send_all_person(msg):
"""
给所有人发消息
:param msg:
:return:
"""
persons = itchat.get_friends()
if persons is not None:
for p in persons:
user_name = p['UserName']
itchat.send(msg, toUserName=user_name)
else:
print("None person found") if __name__ == '__main__':
send_one_person('测试123', "安")
# send_one_group('','***学员群')

小实例:

获取所有头像并保存和拼接到一个图片里面:

# -*- coding:utf- -*-
# 导入相关模块
import itchat
import os
import PIL.Image as Image
from os import listdir
import math # 登录
itchat.auto_login(hotReload=True)
# 获取微信全部好友的信息
friends = itchat.get_friends(update=True)[:]
# 获取自己的用户名
user = friends[]["UserName"]
# 打印用户名
print(user)
# 建立文件夹用来装好友的头像
os.mkdir(user) num =
# 遍历好友信息,将头像保存
for i in friends:
img = itchat.get_head_img(userName=i["UserName"])
fileImage = open(user + "/" + str(num) + ".jpg", 'wb')
fileImage.write(img)
fileImage.close()
num += pics = listdir(user)
numPic = len(pics)
print(numPic)
eachsize = int(math.sqrt(float( * ) / numPic))
print(eachsize)
numline = int( / eachsize)
toImage = Image.new('RGBA', (, ))
print(numline) x =
y = for i in pics:
try:
# 打开图片
img = Image.open(user + "/" + i)
except IOError:
print("Error: 没有找到文件或读取文件失败")
else:
# 缩小图片
img = img.resize((eachsize, eachsize), Image.ANTIALIAS)
# 拼接图片
toImage.paste(img, (x * eachsize, y * eachsize))
x +=
if x == numline:
x =
y += # 保存拼接后的头像
toImage.save(user + ".BMP")
itchat.send_image(user + ".BMP", 'filehelper')

python itchat 微信开发的更多相关文章

  1. python之-微信开发学习

    微信公众平台技术文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432# 注意,最好以python3 运行,中文 ...

  2. python实现微信接口(itchat)

    python实现微信接口(itchat) 安装 sudo pip install itchat 登录 itchat.auto_login() 这种方法将会通过微信扫描二维码登录,但是这种登录的方式确实 ...

  3. 细数Python Flask微信公众号开发中遇到的那些坑

    最近两三个月的时间,断断续续边学边做完成了一个微信公众号页面的开发工作.这是一个快递系统,主要功能有用户管理.寄收件地址管理.用户下单,订单管理,订单查询及一些宣传页面等.本文主要细数下开发过程中遇到 ...

  4. python实现微信接口——itchat模块

    python实现微信接口——itchat模块 安装 sudo pip install itchat 登录 itchat.auto_login()  这种方法将会通过微信扫描二维码登录,但是这种登录的方 ...

  5. Python itchat模块的使用,利用图灵机器人进行微信消息自动回复

    一.下载安装itchat模块 二.小实验:获取微信好友头像信息 这需要用itchat模块中的一个方法 itchat.get_friends()#获取微信所有微信好友信息 现在我们导入itchat,打印 ...

  6. python 全栈开发,Day25(复习,序列化模块json,pickle,shelve,hashlib模块)

    一.复习 反射 必须会 必须能看懂 必须知道在哪儿用 hasattr getattr setattr delattr内置方法 必须能看懂 能用尽量用__len__ len(obj)的结果依赖于obj. ...

  7. 利用Python统计微信联系人男女比例以及简单的地区分布

    寒暄的话不多说,直接进入主题. 运行效果图: [准备环境] Python版本:v3.5及其以上 开发工具:随意,此处使用Pycharm [依赖包] 1.itchat (CMD运行:pip instal ...

  8. 用python玩微信(聊天机器人,好友信息统计)

    1.用 Python 实现微信好友性别及位置信息统计 这里使用的python3+wxpy库+Anaconda(Spyder)开发.如果你想对wxpy有更深的了解请查看:wxpy: 用 Python 玩 ...

  9. python发送微信及企业微信消息

    1.发送微信消息 直接使用第三方库 itchat,其文档中有详细使用方式:https://itchat.readthedocs.io/zh/latest/ 如下实例为 发送群聊信息 # -*- cod ...

随机推荐

  1. Python——内部参数对外部实参的影响

    无论函数传递的参数的可变还是不可变,只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用,而如果传递的参数是可变类型,在函数内部使用方法修改了数据的内容,同样会影响到外部 ...

  2. python迭代、可迭代对象、迭代器及生成器

    迭代 通常意义上的迭代是指:重复执行一系列运算,从前面的量依次推出后面的量的过程,每一次迭代的结果,会作为下一次迭代的初始值. 在c.c++.java等编程语言中的for循环语句,就是一个迭代过程,例 ...

  3. vue,新手上路,基础,常见问题

    1. 报这个错的  都是关键字问题,不要用关键字 做为组件的名字,不然肯定都会报错,如果找不到就一个字母的看,我就是 忘记改组件的名字导致报错,这个问题   改个名字就好,切记改全不然只有页面报错,文 ...

  4. nodejs之socket.io 聊天实现

    写在前面:最近很火的“996”话题,可谓是引起一片热议,马老师说:能够996应该是幸运的,996是对奋斗者的一种机遇(记得不是很清楚).996缺少的是自己的空闲时间了,当我是空闲的时候偶尔996挺好的 ...

  5. 高效的JS数组操作

    1.向数组的末尾添加元素 var arr=[1,2,3]; arr[arr.length]=1; 2.向数组的头部添加元素 var arr=[1,2,3]; [0].concat(arr); 3.向数 ...

  6. Robot Framework自动化测试一(第一个脚本)

    创建测试项目                                           选择菜单栏file----->new Project Name 输入项目名称,Type 选择Di ...

  7. 判断弹出框存在(alert_is_ present)

    系统弹窗这个是很常见的场景,有时候它不弹出来去操作的话,会抛异常.那么又不知道它啥时候会出来,那么久需要去判断弹窗是否弹出了 判断 alert 源码分析 class alert_is_present( ...

  8. 网站Http升级至Https(基于Tomcat)

    由于之前一直忙于服创比赛,然后就导致好久没写博客了. 现在服创结束也有十来天了,感觉不写点什么就对不起自己了. 于是乎,就写写将网站从http升级到https的过程吧. 首先域名和服务器自然是必须的, ...

  9. Tensorflow中的数据对象Dataset

    基础概念 在tensorflow的官方文档是这样介绍Dataset数据对象的: Dataset可以用来表示输入管道元素集合(张量的嵌套结构)和"逻辑计划"对这些元素的转换操作.在D ...

  10. AtCoder Regular Contest 059 F Unhappy Hacking

    Description 题面 Solution 我们发现如果一个位置需要被退掉,那么是 \(0\) 或 \(1\) 都没有关系 于是我们想到把 \(0,1\) 归为一类 问题转化为每一次可以添加和删除 ...