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

微信个人号中的群发助手可以一次给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. iis默认文档

    环境 W10 IIS10 输入网址后,显示一个默认首页,在IIS中,一般指定一个根目录下的文件例如index.html 如果要指定子目录下的文件, 例如让 /home/index.html 这个文件成 ...

  2. 构建SFTP服务

    ---------------增加sftp-----------------查看openssh的版本# ssh -V使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个 ...

  3. 清理XFCE4卸载残留

    apt-get remove xfce4 apt-get remove xfce4* apt-get autoremove apt-get autoclean apt-get clean --- 更新 ...

  4. 这些保护Spring Boot 应用的方法,你都用了吗?

    这些保护Spring Boot 应用的方法,你都用了吗? 生如夏花 SpringForAll社区 今天 Spring Boot大大简化了Spring应用程序的开发.它的自动配置和启动依赖大大减少了开始 ...

  5. tyvj/joyoi 1374 火车进出栈问题(水水版)

    我受不了了. Catalan数第100项,30000项,50000项,cnm 这tm哪里是在考数学,分明是在考高精度,FFT...... 有剧毒! 我只得写高精度,只能过100的那个题,两个进化版超时 ...

  6. vue2.0项目实战(1)基础入门

    最近公司的H5项目准备重构,部门老大说前端使用vue2.0来开发,所以就准备把整个项目的开发过程记录下来,一方面是为了记录开发过程中遇到的坑,另一方面也加强自己写作的能力. 什么是 Vue? 简要介绍 ...

  7. RenderTree渲染树

    RenderTree渲染树对类中的静态成员有很重要的关系,这个和多态是有很重要的关系,举个简单的例子,在游戏中,马里奥需要渲染,蘑菇也需要渲染,怪兽也需要渲染,其是串在一个树上的,但是不同的类型怎么将 ...

  8. parallels tools 安装

    │ - kernel-devel-2.6.32-358.el6.x86_64 │ │ - dkms

  9. Go数据类型和变量

    一:Go数据类型 1.1 Go语言按照分类有以下几种数据类型 布尔型 布尔型的是一个常量true或者false 数字类型 整型int和浮点型 float32, float64 字符串类型 字符串就是一 ...

  10. 做web开发需要学习哪些技术--基础篇

    做一个web网站,包含哪些技术,自己需要学习哪些技术 自己想到哪里就写到哪里 -- 给自己做的一个记录 1: 页面的展示, 一个web的开发语言  1.1 一个web的开发语言需要注意哪方面,才能符合 ...