• 群发技术-使用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 ,凭积分兑换

  • 相关阅读:
    PHP学习笔记二十八【抽象类】
    PHP学习笔记二十七【重写】
    PHP学习笔记二十六【类的重载】
    PHP学习笔记二十五【类的继承】
    BZOJ4001[TJOI2015]概率论(数学、期望、生成函数、卡特兰数)
    BZOJ5091摘苹果(概率、期望)
    [Codeforces1009E]Intercity Travelling 数学题
    ZJOI2009狼和羊的故事
    洛谷P2050[NOI2012]美食节(网络流+动态加边优化)
    apk编辑器制作共存失败的一个可能的原因(第一次手动制作的教训)
  • 原文地址:https://www.cnblogs.com/txw1958/p/10394916.html
Copyright © 2020-2023  润新知