Python 微信机器人

1、安装支持

# wxpy
# pyecharts
# Pillow
# echarts-china-*
# echarts-cities-*
# echarts-countries-*
# 以上软件包都要进行安装,名称变成蓝色表示安装成功

2、微信登录

# 安装 wxpy 包# 初始化微信登录  导入微信机器人包
import wxpy
wxpy.Bot()# 建立登录缓存,完成二维码登录, cache_path建立wxpy.pkl缓存文件
wxpy.Bot(cache_path=True)print("登录成功")
print("即将退出程序")# 保持微信登录状态
wxpy.embed()

3、机器人对象

# 将wxpy中所有变量进行导入
from wxpy import *
bot = Bot(cache_path=True)
# 返回值为登录该账号的用户
print(bot)# 所有好友
friends = bot.friends()
# print(friends)# 所有群组
groups = bot.groups()# 自己
_self = friends[0]
print(_self)# 性别
#_self.sex
print(_self.sex)# 省份
# _self.province
print(_self.province)# 指定分组
# 指定好友,指定分组都不能排除重名情况,所以search的结果为list类型
# 通常只有指定的第一个好友|分组,那么就是结果list的第0位# 好友查询
bot.friends().search("好友名")[0]# 群组查询
bot.groups().search("群组名")[0]# 文件助手
bot.file_helper.send("给文件助手的信息回复")# 保持登录状态
# embed()

4、注册装饰器

# 注册好友回复
@bot.register()
def friend_reply(msg):# 信息内容# msg.text# 发送者# msg.sender.namereturn "回复的信息"# 注册群回复
@bot.register(chats=bot.groups().search("群组名")[0])
def group_reply(msg):# 判断消息是不是老板发送的if msg.member.name == "群员名":return "1"

指定好友自动回复

from wxpy import *
bot = Bot(cache_path=True)frinend = bot.friends().search("Ranga")[0]@bot.register()
def abc(msg):name = msg.sender.nameprint(name + ":" + msg.text)print(msg.sender.name, frinend.name)if name == frinend.name:# 回复return "自动回复: 您好! 有事请发红包"embed()

5、性别分析

# 创建一个扇图对象
pie = pyecharts.Pie("性别统计")# 添加数据:根据性别对数据进行分析
pie.add("性别统计",["男性","女性","其他"],[man,woman,other])# 渲染html文件
pie.render("性别统计.html")

应用

from wxpy import *
from pyecharts import Pie
import webbrowserbot = Bot(cache_path=True)
# 拿到所有的好友
friends = bot.friends()
# 统计每一个性别好友的个数
male = 0
female = 0
other = 0
# 好友个数
print("好友个数:", friends.__len__())
# 通过迭代器变量,判断性别,统计数据
for f in friends:if f.sex == 1:male += 1elif f.sex == 2:female += 1else:other += 1# 设置扇图对象
pie = Pie("性别比例")
# 添加数据
pie.add("性别比例", ["野兽", "美女", "哇塞"], [male, female, other])
# 将对象渲染成可视化的html文件
pie.render("性别分析.html")
# 自动打开默认浏览器显示页面
webbrowser.open("性别分析.html")

6、区域分析

# 创建一个地图对象
map = pyecharts.Map("地域分布")
# 添加数据(是否使用视觉映射组件)
map.add("地域分布",mapdic.keys(),mapdic.values(),is_visualmap=True)
# 生成html文件
map.render("地域分布.html")

应用

from wxpy import *
from pyecharts import Map
import webbrowserbot = Bot(cache_path=True)
# 拿到所有的好友
friends = bot.friends()# 分析好友的地理位置(省份)
mapdic = {}
for f in friends:# 拿到省份province = f.province# 数据字典中有没有改省份了if f.province in mapdic:# 有了,原数据基础上+1mapdic[f.province] += 1else:# 没有,设置一个这样的key,且设置初始值为1mapdic[f.province] = 1# 创建一个地图对象
map = Map("地域分布")
# 添加数据(是否使用视觉映射组件)
map.add("地域分布",mapdic.keys(),mapdic.values(),is_visualmap=True)
# 生成html文件
map.render("地域分布.html")webbrowser.open("地域分布.html")

7、设置图灵机器人回复

import json
import requestsdef getmsg(t):url = "http://openapi.tuling123.com/openapi/api?key=e2cce407c9684150bc733622f0b40150&info=" + t# url 信息要先进行注册申请# 请求接口 获取返回的内容response = requests.get(url)# 使用json模块将字符串转换为字典方便取值dic = json.loads(response.content.decode("utf-8"))return dic["text"]@bot.register()
def receive(msg):if msg.sender == bot.friends().search("指定好友名")[0]:return getmsg(msg.text)

应用

from wxpy import *
import requests
import jsonbot = Bot(cache_path=True)
friend = bot.friends().search("Ranga")[0]def getmsg(t):url = "http://openapi.tuling123.com/openapi/api?key=e2cce407c9684150bc733622f0b40150&info=" + t# 请求接口 获取返回的内容response = requests.get(url)# 使用json模块将字符串转换为字典方便取值dic = json.loads(response.content.decode("utf-8"))# 机器人信息print(dic["text"])return dic["text"]@bot.register()
def receive(msg):# 好友信息print(msg.text)if msg.sender == friend:return getmsg(msg.text)
embed()

Python 实现功能 --- 微信机器人相关推荐

  1. Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)

    Python + itchat 实现微信机器人聊天(支持自动回复指定群聊) 最近对Python上瘾,闲来无事搞个Python+itchat玩下微信机器人自动回复. 首先要打开cmd输入以下代码,安装r ...

  2. 用python来创建微信机器人,跟基友网恋聊天(滑稽)

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话: 因为是微信机器人系列 ...

  3. python实现企业微信机器人的自动推送

    关于企业微信机器人的自动推送 前些天,做了一个关于企业微信机器人自动推送消息的一个小功能,在这里来聊一下其中学习到的一些内容. 由于是需要进行自动推送新闻,因此先对需要获得信息的网页进行爬取. 在爬取 ...

  4. 自动化系列(五)Python实现企业微信机器人

    自动化系列(四)Python实现钉钉机器人 定期数据需求除了以邮件的形式交付外,也可以发送到工作群里通知相关人员及时关注,本文将介绍如何推送数据到钉钉群里并@相关人员及时关注. 添加自定义机器人 创建 ...

  5. Python操作企业微信机器人

    目录 一.群机器人简介 二.创建企业微信机器人 三.发送纯文本消息 四.发送Markdown类型消息

  6. python调用企业微信机器人API-自动发送文本、图片与CSV文件3种方式

    前言:使用企业微信app端,在群里添加robot并命名:PC端点击robot可编辑相关资料. 正文 1.调用企业微信API-发送文本. 1.1接口说明: 这里文本发送markdown格式.文本具体呈现 ...

  7. python使用企业微信机器人发送测试报告

    自从企业微信添加了群机器人功能,我们现在使用机器人发送测试报告,最开始使用的是文本类型,但是感觉没有markdown的显示好看,索性就更换成了markdown类型的 官网上介绍的还可以发送图片和图文等 ...

  8. Python+ITchart实现微信机器人对指定的朋友和群自动回复

    这里我主要用了3个机器人,可以切换. 1.图灵机器人  (傻的不行,一直在问别人问题,没有限制) http://www.tuling123.com 2.showApi上的图灵机器人 (感觉最聪明,可以 ...

  9. 利用python进行企业微信机器人自动发送消息

    def test_004_robot(self):headers = {"Content-Type": "text/plain"}s="卖品,打印码: ...

最新文章

  1. ftp安装遇到的问题
  2. 39、Power Query-Text.Combine函数应用
  3. Bug反思:减少笔误
  4. Adobe宣布Flex Builder将更名为Flash Builder
  5. 翻译:程序员数据结构基础:选择正确的数据结构
  6. C++0x,崭新的C++,还是另一个JAVA?
  7. 实现 tomcat 热加载证书
  8. 阿里腾讯极其看重的数据中台,我用大白话给你解释清楚了
  9. 六安:在线监测 精准调控 构建智慧城市节水管理平台
  10. PHP如何大幅度提升运行效率? -- 把它编译成机器码!
  11. VS2019创建COM组件
  12. Docker(2) Windows10安装教程(DockerToolbox)
  13. 环境配置系列五Linux.Fedora9.配置
  14. 基于Java医院网上预约挂号系统设计与实现(含源代码)
  15. 多维向量空间中点到线的距离公式
  16. 将python 脚本转换为exe格式
  17. vue中使用DataV做大屏展示
  18. 2022hgame-week1 wp
  19. 微信小程序for循环
  20. 如何辨识“真假”敏捷?

热门文章

  1. 目标检测算法——图像分割数据集汇总 2(附下载链接)
  2. Ceph 读写路径源代码分析(1)
  3. C++调用libmp3lame实现压缩WAV为MP3【附VS2013项目】
  4. 峰哥读者的大数据学习路线,附学习资料
  5. php延迟加载js,延时加载JavaScript代码提高速度
  6. 时间序列绘制ACF与PACF图像
  7. 在python中股票的收盘价如何表示_利用python计算股票涨跌幅
  8. mysql备份还原参数详解
  9. entity、model、domain三个包之间的区别
  10. 【数据挖掘实战】——电力窃漏电用户自动识别(LM神经网络和决策树)