群發技術-使用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 ,憑積分兌換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM