Python 技术篇-20行代码实现微信机器人斗图功能实例演示!斗图啦官网API调用方法

简介: Python 技术篇-20行代码实现微信机器人斗图功能实例演示!斗图啦官网API调用方法

话不多说,看效果图

image.png

先说下原理

微信接收到你说的话,发给机器人来回复,用回复的话传参给斗图网,然后获得斗图网返回的图片,保存后把图片再发给跟你斗图的人。

斗图啦官网API调用文档

斗图啦官网

菜单栏的 站长开发→斗图啦API 即可看到 api 接口调用方式。

image.png

urllib.request() 用于把图片链接保存为本地图片。

requests 可以通过 postget 两种请求方式获得 api 的返回值。

itchat.send_image() 用于发送图片给微信好友。

import itchat
import requests
import urllib.request
# 获得机器人的请求
def get_response(msg):
    # 调用莉莉机器人,获得回复
    apiUrl = 'http://i.itpk.cn/api.php'
    data = {
        'question':msg,
    }
    r = requests.get(apiUrl, params = data)   # get请求
    text = r.text.encode('utf-8')[3:].decode('utf-8')   # 去掉text文本里的BOM开头,就是获得回复内容
    # 通过回复的值,传参给斗图啦api,获取对应的图
    apiUrl = 'https://www.doutula.com/api/search'
    data = {
        'mime':2,   # 指定jpg格式静态图
        'page':0,
        'keyword':text,
    }
    r = requests.post(apiUrl, data=data).json()   # post请求
    imgurl = r.get("data").get("list")[0].get("image_url")   # 获取返回的第一个图片地址
    urllib.request.urlretrieve(imgurl, "doutu.jpg")   # 保存图片名为doutu.jpg的本地图片
# 微信机器人
@itchat.msg_register(itchat.content.TEXT, isFriendChat = True)
def reply_msg(msg):
    itchat.send_image(fileDir = "doutu.jpg", toUserName = msg['FromUserName'])   # 将保存在本地的图片发送给给你发消息的人
itchat.auto_login(hotReload = True)   # 保存微信登录状态
itchat.run()

附: 手机版运行效果图。

image.png

喜欢的点个赞❤吧!

   

目录
相关文章
|
4月前
|
小程序
|
8天前
|
编解码 机器人 测试技术
技术实践 | 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型快速搭建专业领域知识问答机器人
Qwen2-VL是一款具备高级图像和视频理解能力的多模态模型,支持多种语言,适用于多模态应用开发。通过PAI和LLaMA Factory框架,用户可以轻松微调Qwen2-VL模型,快速构建文旅领域的知识问答机器人。本教程详细介绍了从模型部署、微调到对话测试的全过程,帮助开发者高效实现定制化多模态应用。
|
2月前
|
网络协议 机器人 C++
KUKA机器人Socket通讯配置方法:技术干货分享
【10月更文挑战第7天】在现代自动化生产线上,KUKA机器人凭借其高效、灵活和精确的特点,成为众多企业的首选。为了实现KUKA机器人与其他设备或系统之间的数据交互,Socket通讯配置显得尤为重要。本文将详细介绍KUKA机器人Socket通讯的配置方法,帮助大家在工作中更好地掌握这一技术。
286 2
|
2月前
|
移动开发 小程序 数据可视化
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
51 2
|
3月前
|
安全 搜索推荐 机器人
纳米技术与医疗:纳米机器人的临床应用前景
【9月更文挑战第28天】纳米机器人作为纳米技术在医疗领域的重要应用,正逐步改变着传统医疗的面貌。它们在药物输送、癌症治疗、手术辅助和疾病诊断等方面展现出广阔的应用前景。随着科学技术的不断进步和纳米技术的不断成熟,我们有理由相信,纳米机器人将成为医疗领域的一个重要且不可或缺的组成部分,为人类的健康事业做出更大的贡献。同时,我们也应关注纳米技术的安全性和可靠性问题,确保其在医疗应用中的安全和有效。
|
4月前
|
小程序 JavaScript
微信小程序中的页面跳转(通过点击按钮、调用方法的形式)
这篇文章讲解了微信小程序中页面跳转的方法,包括使用按钮点击事件和调用方法实现跳转,以及推荐使用`this.pageRouter.navigateTo`代替`wx.navigateTo`的方式。
微信小程序中的页面跳转(通过点击按钮、调用方法的形式)
|
4月前
|
机器学习/深度学习 自然语言处理 算法
聊天机器人开发的最佳实践:技术探索与案例分析
【8月更文挑战第22天】聊天机器人作为人工智能领域的重要应用之一,正逐步改变着人们的生活和工作方式。通过遵循最佳实践和技术探索,开发者可以开发出更加智能、高效、安全的聊天机器人产品。未来,随着技术的不断进步和应用场景的不断拓展,聊天机器人将在更多领域发挥重要作用。
|
4月前
|
Apache UED 数据安全/隐私保护
揭秘开发效率提升秘籍:如何通过Apache Wicket组件重用技巧大翻新用户体验
【8月更文挑战第31天】张先生在开发基于Apache Wicket的企业应用时,发现重复的UI组件增加了维护难度并影响加载速度。为优化体验,他提出并通过面板和组件重用策略解决了这一问题。例如,通过创建`ReusableLoginPanel`类封装登录逻辑,使得其他页面可以轻松复用此功能,从而减少代码冗余、提高开发效率及页面加载速度。这一策略还增强了应用的可维护性和扩展性,展示了良好组件设计的重要性。
60 0
|
4月前
|
人工智能 自然语言处理 机器人
掌握未来沟通的艺术:运用TensorFlow与自然语言处理(NLP)技术,从零开始构建你的专属智能对话机器人,让机器理解你的一言一行
【8月更文挑战第31天】本文详细介绍如何利用TensorFlow与自然语言处理技术开发对话机器人。从准备问答数据集开始,通过预处理、构建Seq2Seq模型、训练及预测等步骤,最终实现了一个简易的聊天机器人。示例代码涵盖数据加载、模型搭建及对话功能,适合希望在实际项目中应用AI技术的开发者参考。
55 0
|
4月前
|
自然语言处理 机器人 API
【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)
【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)
下一篇
DataWorks