百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

python实践——如何批量向好友发送消息,亲测有效!

csdh11 2025-03-13 14:18 1 浏览

今天为大家介绍如何像指定好友或微信群批量,一共两个Python模块,第一个是itchatitchat是一个开源的微信个人号接口 ,使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人,将信息批量发送给指定好友。第二个是wxauto,一个可以批量发送消息和图片的模块。下面开始。

写作不易,在阅读前,诚邀您关注,点赞,收藏,转发,方便以后持续为您推送此类文章,同时也便于您进行讨论与分享,您的支持是我们坚持创作的动力~

#每天学python##微信##少儿编程##如何用一句话来形容你现在的工作#

方法一: 使用itchat模块

环境准备:

itchat 版本号:1.3.10

itchat-uos 版本号:1.5.0.dev0

模块安装:

pip install itchat==1.3.10
pip install itchat-uos==1.5.0.dev0

代码实现:

执行代码后会弹出二维码,使用手机扫码确认登录,即可将测试信息发给指定的好友。亲测有效,现在就可以将信息发给你的好友啦。

import itchat
# 自动登录并关闭二维码窗口
itchat.auto_login(hotReload=True)
itchat.run(blockThread=False)

# 指定好友的备注或昵称
friend_name = "jack"
# 搜索指定好友
friend = itchat.search_friends(name=friend_name)
if friend:
    friend_username = friend[0]['UserName']
    # 发送消息给指定好友
    itchat.send("Hello, World!", toUserName=friend_username)

# 保持程序运行
itchat.run(blockThread=False)

其实,这样写存在两个问题,

第一个问题: 不能循环输入发送,

第二个问题: 登录缓存问题 itchat.auto_login(hotReload=True) 代码这样写 是为了热加载登录信息,就是登录一次下次就不需要在微信确认,但如果在其他地方登录了(比如登录了桌面微信)就会出问题。

下面代码解决这两个问题,使程序更可用。通过判断.pkl 结尾的文件是否存在,在登录的时候自动删除,来控制微信的登录

#--------------encoding:utf-8 -------------
import itchat
import os
current_dir = os.path.dirname(os.path.abspath(__file__))

class we_login:
    def __init__(self):
        self.flog =True
    def login(self):
        import glob
        # 判断当前目录下是否有.pkl文件
        pkl_files = glob.glob("*.pkl")
        if pkl_files:
            for file_path in pkl_files:
                os.remove(file_path)

        # 自动登录并关闭二维码窗口
        itchat.auto_login(hotReload=True,exitCallback=self.on_disconnect)

        while self.flog:
            # 指定好友的备注或昵称
            friend_name = input('请输入好友的昵称:')
            friend = itchat.search_friends(name=friend_name)

            str_info = input('请输入:')#输入信息
            str_number = input('需要发送多少次:')

            if friend:
                friend_username = friend[0]['UserName']
                self.sending_messages(str_info, str_number,friend_username)
            itchat.run(blockThread=False)
    def sending_messages(self,str_info,str_number,friend_username):
        for item in range(int(str_number)):
            itchat.send(str_info, toUserName=friend_username)

    def on_disconnect(self):
        self.flog = False

we_login().login()

运行上面代码会弹出二维码图片,扫描二维码即可登录自己的微信

然后可实现将信息批量发往您指定的好友,比如女友生气了,道歉手速拼不过她,咱就来个批量发送。。。。。。。。。。。。。。。(温馨提示:可能有被拉黑风险,酌情选择发送数量)

写完上面其实还存在一个问题

就是这样只能在自己电脑上运行,如果在手机上运行那就非常nice了,本打算使用kivy将编写手机app,然后将批量发送集成进去。但一个很棘手的问题就是itchat模块已经有7年没有更新了,在使用的时候偶尔会出现报错问题。所以还是当成python练习代码吧,偶尔整蛊下好友。

如果上面代码正好赶上出问题,那么可以使用以下方式再次编辑代码


方法二: 使用wxauto模块

要求: 桌面版的微信必须是登录状态

环境准备:

环境

版本

OS

windows10/11

微信

微信:3.9.8.x

Python

python3.x

注:部分版本的微信可能由于UI界面不同从而无法使用,截至2023-11-20最新版本可用

获取wxauto模块(请勿直接pip install 安装)

git clone https://github.com/cluic/wxauto.git
cd wxauto
pip install -r rquirements.txt

如果windows上没有安装git,还可去github上直接下载
https://codeload.github.com/cluic/wxauto/zip/refs/heads/WeChat3.9.8 ( 将URL复制到浏览器的地址栏)

将下载文件放到指定目录中解压安装模块,如下:

cd E:\github\weixin  #我指定的目录
cd wxauto-WeChat3.9.8
pip install -r rquirements.txt  #在当前目录下安装wxauto模块

环境已经准备好,接下来是代码部分(注:脚本必须在wxauto-WeChat3.9.8 目录下运行):custom.py

from wxauto import *


class we_custom:
    def __init__(self):

        # 获取当前微信客户端
        self.wx = WeChat()
        # 获取会话列表
        self.wx.GetSessionList()
    def collect_info(self):
        """收集需要发送的信息"""
        while True:
            msg = input("请输入要发送的信息: ")
            who = input("请输入好友的名字: ")
            image = input("请输入要发送的图片的绝对路径: ")
            number = input("需要发送几次: ")
            self.send_message(msg,who,image,number)
    def send_message(self,*args):
        msg = args[0]
        who = args[1]
        image = args[2]
        number = args[3]
        if msg and who and number:
            for i in range(int(number)):
                self.wx.SendMsg(msg, who)#向指定用户或组`who`发送消息:msg
        elif msg and who and not number: #如果number次数不存在,那么久发送一次
            self.wx.SendMsg(msg, who)

        if image and who and number:
            for i in range(int(number)):
                self.wx.SendFiles(image, who)
        elif image and who and not number: #如果number次数不存在,那么久发送一次
            self.wx.SendFiles(image, who)


if __name__ =='__main__':
    we_custom().collect_info()

在脚本所在目录的dos界面执行以下命令:

python custom.py

按提示输入:

执行后可自动调用桌面微信批量发送信息。

目前主流还可使用的可连接微信的模块主要有itchat,wechaty, 而还在持续更新的是wechaty,之后研究下wechaty如何对微信进行操作,尽力为大家带来更好的文章。


相关推荐

最具标志性的电影服饰

在1933年的电影《晚宴》中,一袭白色斜裁缎质礼服和一头染成银灰色的卷发将珍·哈露变成了片中孤独骄傲的凯蒂·帕卡德(KittyPackard)。这条白色礼服风靡一时,与它类似的款式统称为”珍·哈露式...

呼吸系统及其他相关疾病英文词汇

allergic/alls:rd3ik/a.过敏的同根alergyn.辻敏症allergenn.变应原(引起过敏反应的物质)...

itch 一周游戏汇:8月19日-8月25日(上)

...

python实现微信群消息自动转发简明教程

基本思路是,用Python模拟微信网页版登陆,接收到群里消息后,对文本、图片、分享等各类消息类型分别处理,并转发至其他群。主要源头是使用itchat,itchat是一个开源的微信个人号接口,pyt...

python实践——如何批量向好友发送消息,亲测有效!

今天为大家介绍如何像指定好友或微信群批量,一共两个Python模块,第一个是itchat,...

用python分析你的朋友圈,很好玩~

设计喵的内心OS:我一脸懵逼点进来,一脸懵逼走出去,你说了什么?事情是这么来的,我看到有朋友在做朋友圈的电子书,也想自己研究一下,发现原来有个itchart这个微信第三方API可以读取微信数据,抱着好...

探索Python技术在电脑端自动化中:从群发消息到智能朋友圈秒赞

一、技术革新与基础库的安装首先,确保Python环境已如诗如画般配置完毕,随后安装那些将赋予我们魔力的第三方库:...

使用Python实现微信电脑端自动化:群发消息、朋友圈点赞与秒赞

一、技术准备与基础库安装首先,确保Python环境已正确配置,随后安装必要的第三方库:...

Python 查看微信撤回的消息(完整代码)

看到了一个基于python的微信开源库:itchat,玩了一天,做了一个程序,把私聊撤回的信息可以收集起来并发送到个人微信的文件传输助手,包括:...

用 Python 玩转微信就是这么简单

前言wxpy在itchat的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。用来干啥一些常见的场景控制路由器、智能家居等具有开放接口的玩意儿...

itch 一周游戏汇:2月17日-2月23日(下)

...

Python开源项目合集(第三方平台)

wechat-python-sdk-wechat-python-sdk微信公众平台Python开发包http://wechat-python-sdk.readthedocs.org/,非官方...

78行Python代码帮你复现微信撤回消息!

来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。...

女朋友老喜欢撤回消息?看我如何利用Python识破她的心理

一、pipInstallitchat既然都用python解决问题了,第一步当然是明确用什么库啦,直接执行pipinstallitchat:...

打游戏老是被女朋友骚扰怎么办?教你用Python智能回复消息

Python中itchat模块对于操作微信来说是个福音,今天,我们就用Python实现微信自动回复,同时调用图灵机器人,实现智能回复。具体代码如下:#导入...