一、下载安装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. 123456123456#6#---###6%%%----com.zzj.DinosourKnown235---前拼show后广--恐龙百科-66666666

    com.zzj.DinosourKnown235---前拼show后广--恐龙百科-

  2. 【Python学习之六】文件操作

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...

  3. 机器学习技法总结(一):支持向量机(linear support vector machine,dual support vector machine)

    第一阶段技法: large margin (the relationship between large marin and regularization), hard-SVM,soft-SVM,du ...

  4. nginx做正向代理https遇到SSL_do_handshake()握手失败

    SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number) wh ...

  5. php imagick生成gif动画的方法

    >php imagick生成gif动画的方法<pre><?php$image=new Imagick();$animation = new Imagick(); //建立一个对 ...

  6. 13 Spring 的事务控制

    1.事务的概念 理解事务之前,先讲一个你日常生活中最常干的事:取钱.  比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必 ...

  7. [转帖]Linux教程(14)- Linux中的查找和替换

    Linux教程(14)- Linux中的查找和替换 2018-08-22 07:03:58 钱婷婷 阅读数 46更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

  8. 阿里的Netty知识点你又了解多少

    前言 Netty 是一个可以快速开发网络应用程序的 NIO 框架,它大大简化了 TCP 或者 UDP 服务器的网络编程.Netty 的简易和快速开发并不意味着由它开发的程序将失去可维护性或者存在性能问 ...

  9. golang 实现定时任务

    在实际开发过程中,我们有时候需要编写一些定时任务.当然我们可以使用crontab命令实现我们的需求.但是这种方法不满足一些定制化场景,同时会依赖具体的操作系统环境. 定时任务 在golang中我们可以 ...

  10. js指定日期时间加一天 ,判断指定时间是否为周末

    function dateAdd(startDate) { startDate = new Date(startDate); startDate = +startDate + ***; startDa ...