一 简介

wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。实现了微信登录、收发消息、搜索好友、数据统计等功能。

总而言之,可用来实现各种微信个人号的自动化操作。(官网文档:http://wxpy.readthedocs.io/zh/latest/bot.html)

安装:wxpy 支持 Python 3.4-3.6,以及 2.7 版本

二 登录微信

from wxpy import *
bot=Bot(cache_path=True) # 一个Bot 对象可被理解为一个 Web 微信客户端。cache_path 提供了缓存的选项,用于将登录信息保存下来,就不用每次都扫二维码

三 案例

 from pyecharts import Map
import webbrowser # 文档https://docs.python.org/3/library/webbrowser.html
from wxpy import *
from collections import defaultdict bot = Bot(cache_path=True)
friends = bot.friends() areas = defaultdict(lambda :0)
for item in friends:
areas[item.province] += 1 attr = areas.keys()
value = areas.values() map = Map("好友分布图", width=1400, height=700)
map.add("", attr, value, maptype='china',is_visualmap=True,is_label_show=True)
map.render('province.html')
webbrowser.open('province.html')

01.微信好友地域分布

 # 自动给指定的人回复
from wxpy import * bot = Bot(cache_path=True) # 从好友中查找名字叫:林 的人,模糊匹配,可能查出多个人,取出第0个
father = bot.search('林')[0] @bot.register() # 用于注册消息配置
def recv_send_msg(recv_msg):
print('收到的消息:', recv_msg.text) # recv_msg.text取得文本
# recv_msg.sender 就是谁给我发的消息这个人
if recv_msg.sender == father:
recv_msg.forward(bot.file_helper,prefix='老爸留言: ') # 在文件传输助手里留一份,方便自己忙完了回头查看
ms = '祝早日康复!'
return ms # 回复 embed() # 进入交互式的 Python 命令行界面,并堵塞当前线程支持使用 ipython, bpython 以及原生 python

02.自动给某人回复

 from wxpy import *
bot=Bot(cache_path=True)
# 查找群
company_group=bot.groups().search('群名字')[0]
# 查找群里的某个人
boss=company_group.search('老板名字')[0] # 只有company_group这个群发的消息,才会调用这个函数,其他的不会调用
@bot.register(chats=company_group) #接收从指定群发来的消息,发送者即recv_msg.sender为组
def recv_send_msg(recv_msg):
print('收到的消息:',recv_msg.text)
# recv_msg.sender 是群这个对象
if recv_msg.member == boss:
#这里不用recv_msg.render 因为render是群的名字
# recv_msg.forward(bot.file_helper,prefix='老板发言: ')
return '老板说的好有道理,深受启发' embed()

03.给群中某个人回复

 import json
import requests
from wxpy import * bot = Bot(cache_path=True) # 调用图灵机器人API,发送消息并获得机器人的回复
def auto_reply(text):
url = "http://www.tuling123.com/openapi/api"
api_key = "9df516a74fc443769b233b01e8536a42"
payload = {
"key": api_key,
"info": text,
}
# 接口要求传json格式字符串,返回数据是json格式
result= requests.post(url, data=json.dumps(payload)).json()
# result = json.loads(r.text)
return "[来自智能机器人] " + result["text"] @bot.register()
def forward_message(msg):
print(msg.tex)
return auto_reply(msg.text) embed()

04.调用图灵机器人api自动回复

参考:

1.https://www.cnblogs.com/liuqingzheng/articles/9079192.html

wxpy使用的更多相关文章

  1. wxpy: 用 Python 玩微信【转】

    转自:https://wxpy.readthedocs.io/zh/latest/index.html 微信机器人 / 可能是最优雅的微信个人号 API wxpy 在 itchat 的基础上,通过大量 ...

  2. 使用wxpy来实现自动发送消息统计微信好友信息的功能

    发送消息太频繁会出现禁言消息 1:导入wxpy模块 pip install wxpy pip3 install wxpy #二者选一 调用模块 # 导入模块 from wxpy import * # ...

  3. 使用wxpy自动发送微信消息(加强版)

    通过使用wxpy自动发送微信消息后,笔者又加强了发送消息,堪称消息爆炸式发送 目前设置的为10秒发送一次,发送9次,每次发送10条内容 import requests import wxpy from ...

  4. 使用wxpy自动发送微信消息

    思路整理:1.进入心灵鸡汤网页,使用python获取心灵鸡汤内容 2.登陆微信,找到需要发送的朋友 3.发送获取的内容 1.获取心灵鸡汤的内容 如下图,获取第一条鸡汤 实现如下: 2.登陆微信,搜索朋 ...

  5. Python3 实现(wxpy)用微信自动定时给朋友定时推广

    Python3 实现(wxpy)用微信自动定时给朋友定时推广 安装wxpy 安装微信机器人wxpy非常简单,如果你拥有pip,请直接按照Github中的方法安装: pip install wxpy 实 ...

  6. 利用wxpy进行微信信息发送详解(一)

    利用wxpy进行微信信息自动发送,简直是骚扰神器,除非拉黑你. 那我们就来设置一个场景吧,五秒发送一次,一次发送10条 首先我们来整理一下思路: ♦1.首先我们要从网上爬去我们想要发送的内容 ♦2.登 ...

  7. wxpy学习

    准备工作 安装 pip install -U wxpy -i "https://pypi.doubanio.com/simple/" 通过python脚本来发送消息给好友 from ...

  8. python利用wxpy监控微信公众号

    此次利用wxpy可以进行微信公众号的消息推送监测(代码超级简单),这样能进行实时获取链接.但是不光会抓到公众号的消息,好友的消息也会抓到(以后会完善的,毕竟现在能用了,而且做项目的微信号肯定是没有好友 ...

  9. 1、初学探讨PYTHON的itchat和wxpy两库

    最近好奇学习了python,觉得简单明了,但是最头疼的就是调整空格和调试吧,的确调试不如C#使用visual studio 方便,都是使用print()来调试.也许因为我是菜鸟,如果大家还有更好的方法 ...

随机推荐

  1. SPFA求最短路——Bellman-Ford算法的优化

    SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环.SPFA 最坏情况下复杂度和朴素 Bellman-Ford 相同,为 O(VE), ...

  2. jQuery与原生JS相互转化

    前端发展很快,现代浏览器原生 API 已经足够好用.我们并不需要为了操作 DOM.Event 等再学习一下 jQuery 的 API.同时由于 React.Angular.Vue 等框架的流行,直接操 ...

  3. setTimeout与setInterval

    setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法:setTimeout(code/function, milliseconds, param1, param2, ...) ...

  4. 路径分隔符不一致,导致windows下不能开发

    最近想要基于YAPI扩展开发一个自己的API管理平台,但是发现在windows下直接跑会报错,在Mac跑就没事 报的错是: Uncaught TypeError: $export is not a f ...

  5. 深入剖析Kubernetes学习笔记:深入理解镜像(07)

    一.容器里的进程看到的文件系统又是什么样子呢? 1.你会看到好多宿主机的文件 [root@k8s-master ~]# vim ns.c [root@k8s-master ~]# gcc -o nl ...

  6. idea 错误: 找不到或无法加载主类

    1.cmd进入项目目录 2.输入maven命令重构项目 mvn clean mvn idea:idea install

  7. C语言strcpy,strncpy和strlcpy讲解

    前言 C风格的字符串处理函数有很多,如strcpy().strcat()等等. strcpy与strcat char* strcpy (char* dest, const char* src); ch ...

  8. jsp网页连接mysql数据库

    1.在mysql数据库中建立数据表 建一张测试表test,插入几条数据: 2.设置JDBC驱动 将 mysql-connector-java-5.0.8-bin.jar 拷到WebContent/WE ...

  9. 关于URL隐藏index.php方法

    在phpstudy上修改了php版本5.6以上后,tp5框架原URL重写模式发生变化.需要在public目录下的.htaccess作出如图修改,原理未知.

  10. CentOS7.6搭建redis4.0.1 cluster集群

    1. 操作系统信息: $ uname -a Linux iZbp11d57wmumnwuihb2czZ -.el7.x86_64 # SMP Fri Feb :: UTC x86_64 x86_64 ...