精华内容
参与话题
问答
  • wxpy模块

    2019-09-30 18:29:01
    from wxpy import *import jsonbot=Bot()my_friends=bot.friends()print(type(my_friends))sex_dict={"male":0,"female":0}for friend in my_friends: if friend.sex==1: sex_dict['male']+=1 e...
    from wxpy import *
    import json
    bot=Bot()
    my_friends=bot.friends()
    print(type(my_friends))
    sex_dict={"male":0,"female":0}
    for friend in my_friends:
    if friend.sex==1:
    sex_dict['male']+=1
    elif friend.sex==2:
    sex_dict['female']+=1
    print(sex_dict)
    province_dict = {'北京': 0, '上海': 0, '天津': 0, '重庆': 0,
    '河北': 0, '山西': 0, '吉林': 0, '辽宁': 0, '黑龙江': 0,
    '陕西': 0, '甘肃': 0, '青海': 0, '山东': 0, '福建': 0,
    '浙江': 0, '台湾': 0, '河南': 0, '湖北': 0, '湖南': 0,
    '江西': 0, '江苏': 0, '安徽': 0, '广东': 0, '海南': 0,
    '四川': 0, '贵州': 0, '云南': 0,
    '内蒙古': 0, '新疆': 0, '宁夏': 0, '广西': 0, '西藏': 0,
    '香港': 0, '澳门': 0}
    for friend in my_friends:
    if friend.province in province_dict.keys():
    province_dict[friend.province]+=1
    data=[]
    for key,value in province_dict.items():
    data.append({'name':key,'value':value})
    print(data)
    f=open("c:\\file.json",'w',encoding='gbk')
    #f.write(json.dumps(data))
    json.dump(data,f)

    转载于:https://www.cnblogs.com/gycone/p/10239174.html

    展开全文
  • python wxpy模块

    2019-07-04 21:46:39
    from wxpy import * bot = Bot() bot.file_helper.send('hello world!') print("ending") """ bot中的参数 :param cache_path: * 设置当前会话的缓存路径,并开启缓存功能;为 `None` (默认) 则不开启缓存...

    API接口
    参考


    python微信接口使用

    from wxpy import *
    
    bot = Bot()
    
    bot.file_helper.send('hello world!')
    
    print("ending")
    
    
      """
    bot中的参数
    :param cache_path:
        * 设置当前会话的缓存路径,并开启缓存功能;为 `None` (默认) 则不开启缓存功能。
        * 开启缓存后可在短时间内避免重复扫码,缓存失效时会重新要求登陆。
        * 设为 `True` 时,使用默认的缓存路径 'wxpy.pkl'。
    :param console_qr:
        * 在终端中显示登陆二维码,需要安装 pillow 模块 (`pip3 install pillow`)。
        * 可为整数(int),表示二维码单元格的宽度,通常为 2 (当被设为 `True` 时,也将在内部当作 2)。
        * 也可为负数,表示以反色显示二维码,适用于浅底深字的命令行界面。
        * 例如: 在大部分 Linux 系统中可设为 `True` 或 2,而在 macOS Terminal 的默认白底配色中,应设为 -2。
    :param qr_path: 保存二维码的路径
    :param qr_callback: 获得二维码后的回调,可以用来定义二维码的处理方式,接收参数: uuid, status, qrcode
    :param login_callback: 登陆成功后的回调,若不指定,将进行清屏操作,并删除二维码文件
    :param logout_callback: 登出时的回调
    """
    from wxpy import *
    
    bot = Bot()
    
    # 获取所有好友
    friends = bot.friends()
    
    # 遍历输出好友名称
    for friend in friends:
        print(friend)
    
    # 找到好友
    friend = bot.friends.search('被单')[0]
    print(friend)
    friend.send("hello world!")
    
    # 获取所有聊天群
    groups = bot.groups()
    
    for group in groups:
        print(group)
    
    # 找到目标群
    group = groups.search("409")[0]
    
    group.send("hello world!")
    from wxpy import *
    
    bot = Bot()
    # 获取好友
    my_friend = bot.friends().search('被单')[0]
    
    # 搜索信息
    messages = bot.messages.search(keywords='测试', sender=bot.self)
    
    for message in messages:
        print(message)
    
    # 发送文本
    my_friend.send('Hello, WeChat!')
    # 发送图片
    my_friend.send_image('my_picture.png')
    # 发送视频
    my_friend.send_video('my_video.mov')
    # 发送文件
    my_friend.send_file('my_file.zip')
    # 以动态的方式发送图片
    my_friend.send('@img@my_picture.png')
    
    # 发送公众号
    my_friend.send_raw_msg(
        # 名片的原始消息类型
        raw_type=42,
        # 注意 `username` 在这里应为微信 ID,且被发送的名片必须为自己的好友
        raw_content='<msg username="wxpy_bot" nickname="wxpy 机器人"/>'
    )
    
    
    # 消息接收监听器
    @bot.register()
    def print_others(msg):
        # 输出监听到的消息
        print(msg)
        # 回复消息
        msg.reply("hello world")
    
    
    embed()
    
    展开全文
  • 主要介绍了利用python之wxpy模块玩转微信,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • python wxpy模块学习

    2019-11-21 16:41:26
    python wxpy 微信机器人 itchat 模块 教学文档:link. ...wxpy模块 的安装 命令行安装: pip install wxpy pycharm 安装: File -> Settings ->Project : xx x ->project Interpreter -> + -> wxpy ...

    python wxpy 微信机器人

    itchat 模块 教学文档:itchat.
    wxpy 模块 教学文档 : wxpy.

    基础阶段

    wxpy模块 的安装
    命令行安装:
    pip install wxpy
    pycharm 安装:
    File -> Settings ->Project : xx x ->project Interpreter -> + -> wxpy -> install

    1.给自己的微信助手发送消息

    #机器人对象,给自己微信的文件传输助手发送消息
    from wxpy import *
    bot = Bot(cache_path=True)
    #机器人账号自身
    #myself = bot.self
    #想文件传输助手发送消息
    bot.file_helper.send('Goodbye of world')
    

    2.基础测试

    from wxpy import *
    bot = Bot(cache_path=True)
    聊天对象puid
    bot.enable_puid('wxpy_puid.pkl')
    my_friend = bot.friends().search('好友备注')[0]   #wxpy教程文档的 “获取聊天对象”
    my_group = bot.groups().search('群昵称')[0]
    print('this ID'+my_friend.puid)
    my_friend.send('在吗?')
    my_friend.send_image('u0.jpg') #可以将image改成其他的文件发送
    

    pkl文件是python的储存文件格式
    打开方式:

    import pickle
    t = open('wxpy_puid.pkl','rb')
    data = pickle.load(t)
    print(data)
    

    测是好友是否在某个群中

    if my_friend in my_group:
        print('yes,{}在{}中!'.format(my_friend.name,my_group.name))
    

    输出某个群中人所有好友语句

    for name in my_group:
        print(name)
    

    实际类
    好友 Friend
    群聊 Group
    群成员 Member
    公众号 MP

    3.小实战

    1.将群中的某个好友发言转发给文件助手

    from wxpy import *
    bot = Bot(cache_path=True)
    my_group = ensure_one(bot.groups().search('群名称'))
    my_friend = ensure_one(friend_group.search('群名称'))
    @bot.register(my_group)
    def forward_pan_message(msg):
        if msg.member == my_friend:
            msg.forwad(bot.file_helper,prefix='xx说')
    embed()  # 堵塞线程
    

    附:@bot.register(my_group)
    预先将特定聊天对象的特定类型消息,注册到对应的处理函数,以实现自动回复等功能。

    # 打印所有*群聊*对象中的*文本*消息
    @bot.register(Group, TEXT)
    def print_group_msg(msg):
        print(msg)
    

    2.忽略 “某个群” 的所有消息
    回复好友 “xx” 和其他群聊中被 @ 的 TEXT 类消息
    打印所有其他消息

    from wxpy import *
    bot = Bot(cache_path=True)
    my_friend = bot.friends().search('好友备注')[0]
    my_group = bot.groups().search('群名称')[0]
    @bot.register()
    def just_print(msg):
        # 打印消息
        print(msg)
    @bot.register([my_friend, Group], TEXT)
    def auto_reply(msg):
        # 如果是群聊,但没有被 @,则不回复
        if isinstance(msg.chat, Group) and not msg.is_at:
            return
        else:
            # 回复消息内容和类型
            return '收到消息: {} ({})'.format(msg.text, msg.type)
    
    @bot.register(my_group)
    def ignore(msg):
        # 啥也不做
        return
    embed()
    

    3.输出自己微信好友的一些信息并统计相关情况

    from wxpy import *
    # 初始化机器人,扫码登录
    # cache_path保持登录,Bot初始化中可以加入参数:console_qr是否在控制台显示二维码
    bot = Bot(cache_path=True)
    print('登录成功')
    # bot.join()
    bot.enable_puid('wxpy_puid.pkl')
    friends = bot.friends()
    sex_male = 0
    sex_female = 0
    unkown = 0
    for i in range(len(friends)):
        print('friends[i]:\t',friends[i])
        print('nick_name:\t', friends[i].nick_name)   # 微信好友的微信昵称
        print('name:\t', friends[i].name)     # 扫码用户对该微信好友的备注
        print('remark_name:\t', friends[i].remark_name)  
        print('bot:\t',friends[i].bot)# 机器人对象 格式为:<Bot: 备注名称>
        print('raw:\t', friends[i].raw) # 微信好友对应的用户详细信息json数据
        print('puid:\t', friends[i].puid)  # 微信好友对应的puid值
        print('Nickname:\t', friends[i].raw['NickName'])  # 打印备注信息
        print('Province:\t', friends[i].raw['Province'])   # 打印好友所在的省份
        print('City:\t\t\t', friends[i].raw['City'])
        print('性别:\t', friends[i].raw['Sex'])
    
        if friends[i].raw['Sex'] == 1:
            sex_male += 1
        elif friends[i].raw['Sex'] == 2:
            sex_female += 1
        else:
            unkown += 1
    print('count of male is:', sex_male, 'count os female is:', sex_female,'不知道性别的共:', unkown)
    print('共有好友:', len(friends))
    # bot.logout()
    # print('退出登录')
    

    4.找到好友列表中昵称为“xx”的好友,监控聊天,打印该好友发来的文本消息,监控群聊消息,打印群聊中的文本消息

    from wxpy import *
    # 初始化机器人,扫码登录
    # cache_path保持登录,Bot初始化中可以加入参数:console_qr是否在控制台显示二维码
    bot = Bot(cache_path=True)
    print('登录成功')
    myfriend = bot.friends().search(u'马萌妹')[0]
    @bot.register(myfriend, TEXT)
    def print_msg1(msg1):
        print(msg1)
    # 监控群聊消息
    @bot.register(Group, TEXT)
    def print_msg(msg):
        print(msg)
    bot.join()
    

    5.自动回复,图灵网站的api

    from wxpy import *
    bot = Bot(cache_path=True, console_qr=False)
    tuling = Tuling(api_key='你在tuling网站申请的api_key')
    myfriend = bot.friends().search(u'好友备注')[0]
    myfriend1 = bot.self
    print(myfriend)
    @bot.register()
    def reply_msg(msg):
        sender_username = msg.sender.raw['UserName']
        # 输出发送信息的好友或者群聊中的人员信息
        print(sender_username)
        # 判断是否和我设置的想要自动恢复到人一致如果一致调用tuling进行消息回复
        if sender_username == myfriend.raw['UserName']:
            # 输出或得到的消息
            print(msg)
            # 调用tuling机器人回复消息,并将消息赋值给message
            message = tuling.do_reply(msg)
            # 输出回复消息的内容
            print(message)
    # 阻塞进程
    bot.join()
    

    6.定时自动发送

    from __future__ import unicode_literals
    from threading import Timer
    from wxpy import *
    import requests
    import random
    bot = Bot(cache_path=True)
    def get_news():    #网络爬虫
        url = "http://open.iciba.com/dsapi/"
        r = requests.get(url)
        content = r.json()['content']
        note = r.json()['note']
        return content, note
    def send_news():
        try:
            contents = get_news()
        # 你朋友的微信名称,不是备注,也不是微信帐号。
        my_friend = bot.friends().search(u'月微凉')[0]
        my_friend.send(contents[0])
        my_friend.send(contents[1])
        my_friend.send(u"晚安")
        # 可以设置每86400秒(1天),发送1次
        t = Timer(300, send_news)
        # 为了防止时间太固定,于是决定对其加上随机数
        ran_int = random.randint(0, 100)
        t = Timer(300 + ran_int, send_news)
        t.start()
        except:
        # 你的微信名称,不是微信帐号。
        my_friend = bot.friends().search('Hhhh')[0]
        my_friend.send(u"哦豁,今天消息发送失败了")
    if __name__ == "__main__":
        send_news()
    
    展开全文
  • python——wxpy模块实现微信尬聊(基于图灵机器人)

    万次阅读 热门讨论 2018-03-28 13:37:09
    wxpy(微信机器人)是在itchat基础上开发的微信个人功能服务API,基本可以实现微信...项目主页https://github.com/youfou/wxpy支持pip安装,适用2.7以及3.4-3.6的python版本通过# 导入模块 from wxpy import * # 初...

    wxpy(微信机器人)是在itchat基础上开发的微信个人功能服务API,基本可以实现微信各种拓展功能,

    API文档http://wxpy.readthedocs.io/zh/latest/index.html

    项目主页https://github.com/youfou/wxpy

    支持pip安装,适用2.7以及3.4-3.6的python版本

    通过

    # 导入模块
    from wxpy import *
    # 初始化机器人,扫码登陆
    bot = Bot()

    即可扫码登录,同时也支持

    bot = Bot(console_qr=True, cache_path=True)

    来保留缓存自动登录

    机器人对象http://wxpy.readthedocs.io/zh/latest/bot.html

    一个机器人对象Bot可以理解为一个web客户端,所以其是不能和正常的web端、PC端共存的。

    其可以完成一个web客户端的基本功能:聊天、搜索、获取、加好友、建群等等……

    聊天对象http://wxpy.readthedocs.io/zh/latest/chats.html

    bot对象里含有chats,friends,groups,mps等方法,分别可以获取当前机器人的聊天对象、好友、群聊、公众号等信息

    可以通过search进行搜索,例如:

    boring_group1 = bot.groups().search('✪ω✪妹子会有的')[0]
    my_friend = bot.friends().search('二狗子', sex=MALE, city='北京')[0]

    通过send可以对其发送消息

    # 发送文本
    my_friend.send('Hello, WeChat!')
    # 发送图片
    my_friend.send_image('my_picture.png')
    # 发送视频
    my_friend.send_video('my_video.mov')
    # 发送文件
    my_friend.send_file('my_file.zip')
    # 以动态的方式发送图片
    my_friend.send('@img@my_picture.png')

    给自己的文件传输助手发送也可以:

    bot.file_helper.send('[奸笑][奸笑]')

    还可以通过stats、stats_text等方法进行数据统计

    bot.friends().stats_text()

    消息处理http://wxpy.readthedocs.io/zh/latest/messages.html

    通过Message.type可以定义接收消息的类型,默认全部接收

    通过@bot.register激活监听事件,可以定义chats、msg_type等参数

    @bot.register(chats = [Friend])
    def forward_message(msg):
        print('[接收]'+str(msg))
        ret = auto_ai(msg.text)
        print('[发送]'+str(ret))
        return ret

    进程等待http://wxpy.readthedocs.io/zh/latest/console.html

    适用 embed()可以让进程处于等待持续监听状态

    from wxpy import *
    bot = Bot()
    embed() # 进入 Python 命令行
    
    # 输入对象名称并回车
    >>> bot
    # Out[1]: <Bot: **>
    >>> bot.friends()
    # Out[2]: [<Friend: **>, <Friend: **>, <Friend: **>]

    机器人接口http://wxpy.readthedocs.io/zh/latest/utils.html

    wxpy目前提供了两种机器人接口

    图灵机器人http://www.tuling123.com/以及小I机器人http://cloud.xiaoi.com/

    以图灵机器人为例完整代码:

    # coding:utf-8  
    import json
    import requests
    from wxpy import *
    #bot = Bot()
    #bot.file_helper.send_image('ParticleSmoke.png')
    
    # 回复 my_friend 发送的消息
    #@bot.register(my_friend)
    #def reply_my_friend(msg):
    #    return 'received: {} ({})'.format(msg.text, msg.type)
    
    # 回复发送给自己的消息,可以使用这个方法来进行测试机器人而不影响到他人
    #@bot.register(bot.self, except_self=False)
    #def reply_self(msg):
    #   return 'received: {} ({})'.format(msg.text, msg.type)
    
    # 打印出所有群聊中@自己的文本消息,并自动回复相同内容
    # 这条注册消息是我们构建群聊机器人的基础
    #@bot.register(Group, TEXT)
    #def print_group_msg(msg):
    #    if msg.is_at:
    #        print(msg)
    #        msg.reply(meg.text)
    
    def auto_ai(text):
        url = "http://www.tuling123.com/openapi/api"
        api_key="****"
        payload={
            "key":api_key,
            "info":text,
            "userid":"666"
            }
        r = requests.post(url,data=json.dumps(payload))
        result = json.loads(r.content)
        if ('url' in result.keys()):
            return "[九日AI]  "+result["text"]+result["url"]
        else:
            return "[九日AI]  "+result["text"]
    
    
    bot = Bot(cache_path=True)#登录缓存
    #bot.file_helper.send('[奸笑][奸笑]')
    print('九日AI已经启动')
    
    
    boring_group1 = bot.groups().search('✪ω✪妹子会有的')[0]
    @bot.register(boring_group1)
    def group_message(msg):
        print('[接收]'+str(msg))
        if (msg.type!='Text'):
            ret = '[奸笑][奸笑]'
        else:
            ret = auto_ai(msg.text)
        print('[发送]'+str(ret))
        return ret
    
    @bot.register(chats = [Friend])
    def forward_message(msg):
        print('[接收]'+str(msg))
        if (msg.type!='Text'):
            ret = '[奸笑][奸笑]'
        else:
            ret = auto_ai(msg.text)
        print('[发送]'+str(ret))
        return ret
    
    embed()
    
    
    



    这个机器人还真是萌气十足,看来以后妈妈再也不用担心我不会和妹子聊天啦!




    两天后:







    再见再见

    展开全文
  • 利用python之wxpy模块玩转微信

    千次阅读 多人点赞 2020-08-16 10:39:13
    wxpy也是一个python的模块,利用它我们可以做很多有意思的事情 首先利用一句代码我们就可以利用python登录网页版微信 bot = Bot(cache_path= True) 这条语句会产生一个二维码,我们扫描了这个二维码之后就可以登录...
  • 主要介绍了使用python3调用wxpy模块,监控linux日志并定时发送消息给群组或好友,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 网上看了一篇python文章,内容简单有趣,正好可以练习一下。... 一、环境:Windows+...二、用到的package:首先就是 wxpy ,cmd控制台使用 pip install wxpy 即可安装。  还需要安装几个后面统计数据和画图的pac...
  • python--wxpy模块的使用

    千次阅读 2020-03-03 20:08:27
    wxpy-模块使用介绍: 官网详细介绍的的地址(https://wxpy.readthedocs.io/zh/latest/) github地址(https://github.com/youfou/wxpy) 一定要先看看你的微信号支不支持微信网页版的登入(https://wx.qq.com/) ...
  • Python中 Wxpy模块以及其监控

    千次阅读 2018-09-16 13:41:52
     本文主要分享一下博主在学习wxpy 的过程中开发的一个小程序。博主在最近有一个监控报警的需求需要完成,然后刚好在学习wxpy 这个东西,因此很巧妙的将工作和学习联系在一起。  博文中主要使用到的技术设计到...
  • python wxpy模块 (一)简单上手

    千次阅读 2019-06-05 09:15:38
    导入模块 from wxpy import * 初始化机器人,扫码登陆 bot = Bot() 找到好友: 搜索名称含有 “游否” 的男性深圳好友 my_friend = bot.friends().search(‘游否’, sex=MALE, city=“深圳”)[0] 发送消息: 发送文本...
  • 先说一下我是怎么了解到这个wxpy模块的: 首先说明一下我是业余py爱好者,一开始确实是不知道这个流弊的模块,我是想突然想搞一个微信支付的微服务供其他模块调用,之前(好久好久了吧)去了解微信支付和支付宝支付...
  • from wxpy import * # bot = Bot() # 每次运行都要扫二维码 bot = Bot(cache_path=True) # 加上参数 表示缓存, 不用每次都要去登录了 2. 发送消息 bot.file_helper.send("hello") # file_helper 是微信的文件...
  • 1:导入了wxpy和wechat_sender 模块之后,运行登录微信web端的代码,抛出异常。 环境:win10 pychram编译器 Python3.6 代码如下: 初始化登录 from wxpy import * from wechat_sender import * bot =...
  • 测试花了不少时间,只要是我想在服务器上跑这个wxpy项目,所以需要在我的服务器上搭python环境,折腾了不少时间,乱码这种问题等,然后又在tomcat上部署一个small【simple mall】项目(目标是做成类似自动发卡系统,...

空空如也

1 2 3 4 5 ... 10
收藏数 192
精华内容 76
关键字:

wxpy模块