Python 微信機器人-20行代碼實現鬥圖功能,簡單易懂,全是乾貨!鬥圖啦API調用方法

話不多說,看效果圖
在這裏插入圖片描述
先說下原理
微信接收到你說的話,發給機器人來回復,用回覆的話傳參給鬥圖網,然後獲得鬥圖網返回的圖片,保存後把圖片再發給跟你鬥圖的人。

鬥圖啦官網API調用文檔

鬥圖啦官網
菜單欄的 站長開發→鬥圖啦API 即可看到 api 接口調用方式。
在這裏插入圖片描述
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()

附::手機版運行效果圖:
在這裏插入圖片描述
喜歡的點個贊❤吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章