一、下载安装itchat模块

二、小实验:获取微信好友头像信息

这需要用itchat模块中的一个方法

itchat.get_friends()#获取微信所有微信好友信息

现在我们导入itchat,打印一下,看看好友信息有哪些字段数据

import itchat
#itchat.login()生成一个登陆二维码,此方式每次程序运行都需要扫码
itchat.auto_login(hotReload=True)#持续登录,只用扫一次二维码即可
friends = itchat.get_friends()#获取微信所有好友信息
for i in friends:
print(i)

这里只拿出几个常用字段说明:

UserName:微信号唯一标识符

NickName:微信名

HeadImgUrl:头像url

RemarkName:备注

Signature:签名

Province:省份

City:城市

从好友信息对象中获取头像图片并存储:

import itchat
#itchat.login()生成一个登陆二维码,此方式每次程序运行都需要扫码
itchat.auto_login(hotReload=True)#持续登录,只用扫一次二维码即可
friends = itchat.get_friends()#获取微信所有好友信息
print(friends)
for i in friends:
img = itchat.get_head_img(userName=i['UserName'])#获取好友头像
path = r'C:\Users\Administrator\PycharmProjects\untitled\Test\微信好友:'+i['RemarkName']+'.jpg'
with open(path,'wb') as f:
f.write(img)

三、使用图灵机器人实现微信自动回复

进入图灵机器人官方网站创建机器人



记录机器人的apikey

进入帮助中心,找到apiv2.0接入教程,里面会有详细的对接教程及一些参数的说明



然后就可以开始通过python itchat和图灵机器人进行对接,实现自动回复消息

import itchat
import requests
import json def get_response(msg):
url = 'http://openapi.tuling123.com/openapi/api/v2'
data = {
"reqType":0,
"perception": {
"inputText": {
"text": msg
},
"inputImage": {
"url": "imageUrl"
},
"selfInfo": {
"location": {
"city": "北京",
"province": "北京",
"street": "信息路"
}
}
},
"userInfo": {
"apiKey": "图灵机器人apikey号",
"userId": "what"#userID随便填一个字符
}
}
data = json.dumps(data)#把data变成json格式
response = requests.post(url,data=data).json()#打印出来是个字典
#print(response['results'][0]['values']['text'])#从数据中取出机器人回复的消息文字
return(response['results'][0]['values']['text'])
#get_response('你有什么事吗')#模拟好友发送信息
#python3中可以使用json模块来对json数据进行编解码
#它包含了两个函数:
#json.dumps()对数据进行编码
#json.loads()对数据进行解码
itchat.auto_login(hotReload=True)#保持登录
@itchat.msg_register(itchat.content.TEXT)#装饰器,对下面的函数添加新功能
def auto_reply(message):
#print(message)
only_reply_info = '哈哈哈,你又上当了!'#设置指定回复消息
friend_info = message['Text']#获取好友发送的文本信息
friend_id = message['FromUserName']#获取好友id
reply_info = get_response(friend_info)#将好友信息发送给图灵机器人
only_friend_info = itchat.search_friends(name='微信备注名')#获取指定好友发送的消息
if friend_id == only_friend_info[0]['UserName']:
itchat.send(msg=only_reply_info, toUserName=friend_id)#规定指定联系人回复消息
else:
itchat.send(msg=reply_info,toUserName=friend_id)#正常机器人智能回复 if __name__ == "__main__":
itchat.run()

Python itchat模块的使用,利用图灵机器人进行微信消息自动回复的更多相关文章

  1. python 全栈开发,Day123(图灵机器人,web录音实现自动化交互问答)

    昨日内容回顾 . 百度ai开放平台 . AipSpeech技术,语言合成,语言识别 . Nlp技术,短文本相似度 . 实现一个简单的问答机器人 . 语言识别 ffmpeg (目前所有音乐,视频领域,这 ...

  2. Python 使用图灵机器人实现微信聊天功能

    首先需要去图灵官网创建一个属于自己的机器人然后得到apikey. 一.自动与指定好友聊天 # -*- coding: utf-8 -*- """ Created at 2 ...

  3. 【Python】模块学习之利用string模块造测试数据

    背景 测试过程中需要一些随机数据,使用到了python中的string模块,记录一下 #! /usr/bin/python # coding:utf-8 """ @aut ...

  4. Python使用微信接入图灵机器人

    1.wxpy库介绍 wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展. 文档地址:https://wxpy.readthedocs.io 从 PYPI 官 ...

  5. Python 004- 利用图灵小机器人来搭建微信聊天自动回复机器人

    实现步骤: 1.获取微信的使用权,即python脚本能控制微信收发信息. 2.python脚本收到聊天信息后,要对该信息进行处理,返回机器人的回应信息. 一二两步要用到wxpy库里的各种组件来收发信息 ...

  6. 使用web api开发微信公众号,调用图灵机器人接口(一)

    此文将分两篇讲解,主要分为以下几步 签名校验; 首次提交验证申请; 接收消息; 被动响应消息(返回XML); 映射图灵消息及微信消息; 其实图灵机器人搭载微信公众号很简单,只需要把图灵的地址配到公众后 ...

  7. python与图灵机器人交互(ITCHAT版本)

    #!/usr/bin/env python#-*- coding:utf-8 -*- @Author : wujf @Time:2018/9/5 17:42import requestsimport ...

  8. 利用python itchat给女朋友定时发信息

    利用itchat给女朋友定时发信息 涉及到的技术有itchat,redis,mysql,最主要的还是mysql咯,当然咯,这么多东西,我就只介绍我代码需要用到的,其他的,如果需要了解的话,就需要看参考 ...

  9. python itchat+机器人web api实现个人微信机器人

    模块 itchat 功能 实现微信回复机器人(调用图灵机器人api) 代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- #Author:Eric im ...

随机推荐

  1. mysql 某表某列支持 emoji

    ALTER TABLE `customer_user` MODIFY COLUMN `UserName`  varchar(30) CHARACTER SET utf8mb4 COLLATE utf8 ...

  2. preg_quote

    $p = 'http://'; $p = '/'.preg_quote($p, '/').'/'; echo $p; /http\:\/\//

  3. java通过下划线数字字面量增加可读性:10_00_00表示100000

    用法 int x1 = 2_014; // Underscore in deciaml format int x2 = 2___014; // Multiple consecutive undersc ...

  4. jira中使用eazyBI

    参考:https://docs.eazybi.com/eazybijira/set-up-and-administer/set-up-and-administer-for-jira-server/in ...

  5. Zookeeper架构及FastLeaderElection机制

    原文链接:http://www.jasongj.com/zookeeper/fastleaderelection/ Zookeeper是什么 Zookeeper是一个分布式协调服务,可用于服务发现,分 ...

  6. 切换 Python2 Python3

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternati ...

  7. Centos下Redis集群的搭建实现读写分离

    Centos下Redis一主多从架构搭建 搭建目标:因为自己笔记本电脑配置较低的原因,模拟两台机器之间搭建一主一从的架构,主节点Redis主要用来写数据,数据写入到主节点的Redis,然后从节点就可以 ...

  8. 基于Snappy实现数据压缩和解压

    Snappy是谷歌开源的一个用来压缩和解压的开发包.相较其他压缩算法速率有明显的优势,官方文档显示在64位 i7处理器上,每秒可达200~500MB的压缩速度,不禁感叹大厂的算法就是厉害. 开源项目地 ...

  9. 酷!微软发布新终端工具,Win 10 将自带 Linux 内核

    原创:技术最前线(id:TopITNews) 北京时间 5 月 7 日,2019 年微软 Build 开发者大会在雷德蒙德召开.今年大会上亮点很多,本文汇总一些和开发者相关的内容. 1. Window ...

  10. c++ 初始化

    1. 内置类型默认初始化 内置类型如果没有被显示初始化,则会被编译器默认初始化.初始化会根据①变量类型的不同②变量类型位置,来决定初始化之后的值.但是内置类型如果在函数体内部,则将不被初始化——也就是 ...