本文介绍如何给个人微信好友群发消息。

微信个人号中的群发助手可以一次给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给微信好友群发消息的更多相关文章

  1. 前后端分离djangorestframework—— 接入微信模板消息推送

    微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...

  2. java开发微信模板消息推送

    发布时间:2018-12-12   技术:springboot+maven   概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...

  3. Python3 itchat微信获取好友、公众号、群聊的基础信息

    Python3 itchat微信获取好友.公众号.群聊的基础信息 一.简介 安装 itchat pip install itchat 使用个人微信的过程当中主要有三种账号需要获取,分别为: 好友 公众 ...

  4. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  5. C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...

  6. WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化

    原文:WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化 [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制 ...

  7. 微信iOS消息拦截插件教程-Tweak HelloWorld

    微信iOS消息拦截插件教程-Tweak HelloWorld 标签(空格分隔): 越狱开发教程 1.环境准备 准备一台越狱的手机,具体参照上一篇教程 搭建Theos越狱开发环境 2.开发过程 新建一个 ...

  8. Python3 自定义请求头消息headers

    Python3 自定义请求头消息headers 使用python爬虫爬取数据的时候,经常会遇到一些网站的反爬虫措施,一般就是针对于headers中的User-Agent,如果没有对headers进行设 ...

  9. iOS开发学习-类似微信聊天消息中的电话号码点击保存到通讯录中的功能

    类似微信聊天消息中的电话号码点击保存到通讯录中的功能,ABAddress的实现在iOS9中是不能正常使用的,点击完成后,手机会非常的卡,iOS9之后需要使用Contact新提供的方法来实现该功能.快捷 ...

随机推荐

  1. Python面试指南

    1.Python基本语法 1.@staticmethod 和 @classmethod Python中有三种方法,实例方法.类方法(@classmethod).静态方法(@staticmethod). ...

  2. photoshop学习4

    蒙版 路径学习 一.蒙版 蒙版可以理解为一层在图层上的遮挡布,为什么要将图层遮住呢,有什么好处.好处在于容易编辑. 在一个图层上建立一个蒙版之后,可以用再删掉不需要的部分,从而露出原图层的部分.那么这 ...

  3. 20165223 《JAVA程序设计》第六周学习总结

    教材学习内容总结 第八章-常用实用类-要点 基础:String类 重点:StringTokenizer类,Scanner类 难点:Class类与Console类,Pattern类与Match类 其他特 ...

  4. 【洛谷P1082】同余方程

    题目大意:求关于 \(x\) 的同余方程 \[ax \equiv 1 \pmod {b}\] 的最小正整数解. 题解:exgcd 板子题. 代码如下 #include <bits/stdc++. ...

  5. java开发JDBC连接数据库代码

    JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 这通过java.lang.Class类的静态方法forName(String className)实 ...

  6. react-native中的setNativeProps

    如果你通过React.createClass方法自定义了一个组件,直接给它设置样式 prop 是不会生效的,你得把样式 props 层层向下传递给子组件 ,直到子组件是一个能够直接定义样式的原生组件. ...

  7. django 前端 js让一段文本中包含的网址可以被访问

    这个功能还是挺刚需的,下面说说实现过程,用到了正则表达式. 1.原本的html部分代码: <h4 id="softadd">链接: https://pan.baidu. ...

  8. TensorFlow升级1.4:Cannot remove entries from nonexistent file \lib\site-pack

    https://blog.csdn.net/wishchin/article/details/78559313 https://blog.csdn.net/fool_frog/article/deta ...

  9. python实现发送邮件

    一 使用SMTP模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Header m ...

  10. C++ template一些体悟(2)

    class template的一般化设计之外,特别针对某些参数做特殊设计 #include <iostream> using namespace std; //一般设计 template& ...