群发技术-使用python3给微信好友群发消息
本文介绍如何给个人微信好友群发消息。
微信个人号中的群发助手可以一次给30个发送消息,如果要给所有所有群发,则需要自己手动发送多次,或者借助程序实现了。本文即是程序实现教程
一、原理
在微信的官方网站上 https://weixin.qq.com/,提供了一个网页版的微信,地址为
https://wx.qq.com/
登录该网页版微信后,可以在网页上给对方发送消息,通过抓包分析网页交互,可以得到发送消息的接口,然后使用程序调用该接口,就可以给好友发送消息了。
把所有好友都找出来,然后排列依次给他们发送消息,这样就是群发。
二、itchat库
如果我们需要自己来分析这个接口,也不是不可以,但需要费时费力。github用户littlecodersh已经做好了这个工作,它把接口都找出来,封装成python语言下的itchat库。我们直接调用这个库就可以了。
三、使用方法
由于这是一个python下的库,我们需要安装python。下载安装很简单,百度上就可以找到很多方法,这里就不多说了。
安装好后,需要安装该库。
使用命令
pip install itchat
安装好之后,在程序中引用该库
import itchat
调用登录接口
itchat.auto_login(hotReload=True)
程序会在命令行返回信息

并返回一个二维码用于扫码登录

扫描之后,提示登录成功,显示自己的微信昵称

然后拉取好友列表
使用命令
friends = itchat.get_friends()
拉取到的好友列表如下所示

第一个是自己
好友的数据格式是这样子的
{
"MemberList":<ContactList: []>,
"Uin":0,
"UserName":"@80d139ab364336b3eec88bab24ef227b37b60eadd7f25a0a3501bb56f13f51c3",
"NickName":"白加黑",
"HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=620814557&username=@80d139ab364336b3eec88bab24ef227b37b60eadd7f25a0a3501bb56f13f51c3&skey=@crypt_369d833a_713bf12e3cf985301ee19ce3c14b8316",
"ContactFlag":3,
"MemberCount":0,
"RemarkName":"",
"HideInputBarFlag":0,
"Sex":2,
"Signature":"情人节快乐。",
"VerifyFlag":0,
"OwnerUin":0,
"PYInitial":"BJH",
"PYQuanPin":"baijiahei",
"RemarkPYInitial":"",
"RemarkPYQuanPin":"",
"StarFriend":0,
"AppAccountFlag":0,
"Statues":0,
"AttrStatus":4161,
"Province":"北京",
"City":"海淀",
"Alias":"",
"SnsFlag":17,
"UniFriend":0,
"DisplayName":"",
"ChatRoomId":0,
"KeyWord":"",
"EncryChatRoomId":"",
"IsOwner":0
}
其中的UserName字段,就代表用户的唯一标识,给这个标识发信息,对方就能收到。
然后循环遍历好好列表,并调用接口给好友发送信息
代码如下
itchat.send("情人节快乐", toUserName=friends[i]['UserName'])
这样就可以给所有用户发送这一消息了。
发送效果如下

从中可以看到,有的人把自己清除掉了,以牙还牙,我们也把对方从好友删除掉。
四、注意事项
新注册的微信账号没有网页版登录权限
群发的时候,每次发送最好间隔比较长的时间,至少2秒以上。
五、群发代码下载
关注微信公众号方倍工作室,在公众号聊天窗口中,回复 1347 ,凭积分兑换
群发技术-使用python3给微信好友群发消息的更多相关文章
- 前后端分离djangorestframework—— 接入微信模板消息推送
微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...
- java开发微信模板消息推送
发布时间:2018-12-12 技术:springboot+maven 概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...
- Python3 itchat微信获取好友、公众号、群聊的基础信息
Python3 itchat微信获取好友.公众号.群聊的基础信息 一.简介 安装 itchat pip install itchat 使用个人微信的过程当中主要有三种账号需要获取,分别为: 好友 公众 ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...
- WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化
原文:WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化 [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制 ...
- 微信iOS消息拦截插件教程-Tweak HelloWorld
微信iOS消息拦截插件教程-Tweak HelloWorld 标签(空格分隔): 越狱开发教程 1.环境准备 准备一台越狱的手机,具体参照上一篇教程 搭建Theos越狱开发环境 2.开发过程 新建一个 ...
- Python3 自定义请求头消息headers
Python3 自定义请求头消息headers 使用python爬虫爬取数据的时候,经常会遇到一些网站的反爬虫措施,一般就是针对于headers中的User-Agent,如果没有对headers进行设 ...
- iOS开发学习-类似微信聊天消息中的电话号码点击保存到通讯录中的功能
类似微信聊天消息中的电话号码点击保存到通讯录中的功能,ABAddress的实现在iOS9中是不能正常使用的,点击完成后,手机会非常的卡,iOS9之后需要使用Contact新提供的方法来实现该功能.快捷 ...
随机推荐
- codevs 2606 约数和(分块优化数学公式 )
题目背景 Smart最近沉迷于对约数的研究中. 题目描述 对于一个数X,函数f(X)表示X所有约数的和.例如:f(6)=1+2+3+6=12.对于一个X,Smart可以很快的算出f(X).现在的问题是 ...
- 【CF1119D】Frets On Fire
题目大意:给定一个长度为 n 的序列,给定一个恒定的 w,求解 \[\sum\limits_{i=1}^{n}min\{d[i],w\}\] 题解:学会了对最小值和式的快速处理. 若在下标的角度考虑, ...
- snmpwalk
什么是snmpwalk?snmpwalk是一个SNMP小程序,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户. snmpwalk的作用 ...
- java ssl 使用不同的加密套件,对性能影响很大
一直以来都是使用java默认的[加密套件]来处理ssl请求,突然有一天我尝试显式的设置了一组加密套件后,发现图片显示的速度明显快了一倍左右. 经过使用几组不同的加密套件测试后,发现使用 TLS_ECD ...
- undefined is not an object(evaluating '_react3.default.PropTypes.shape)
手机红屏报这个错时的解决办法: npm uninstall --save react-native-deprecated-custom-components npm install --save ht ...
- 第九节、人脸检测之Haar分类器
人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来. 目前人脸检测的方法主 ...
- 第六节,Neural Networks and Deep Learning 一书小节(下)
4.神经网络可以计算任何函数的可视化证明 神经网络拥有一定的普遍性,即包含一个隐藏层的神经网络可以被用来按照任意给定的精度来近似任何连续函数. 这一章使用一个实例来阐述神经网络是如何来近似一个一元函数 ...
- Educational Codeforces Round 53 (Rated for Div. 2) A Diverse Substring
传送门 https://www.cnblogs.com/violet-acmer/p/10163375.html 题意: 给出串是多态的定义“长度为 n 的串 s ,当串 s 中所有字母出现的次数严格 ...
- 4.2、LED1、LED2交替闪烁
#include "ioCC2530.h" //引用CC2530头文件 /***************************************************** ...
- 22. Generate Parentheses(ML)
22. Generate Parentheses . Generate Parentheses Given n pairs of parentheses, write a function to ge ...