Python实现快递查询-QQ机器人插件

Python实现快递查询-QQ机器人插件,第1张

Python实现快递查询-QQ机器人插件

目录

1.API接口请求

2.创建成新的QQ插件


Python实现快递查询功能。Python爬虫一直是一样好东西!只要想就可以爬取自己想要的对象!本次,将使用Python3.9即requests库API请求,制作成QQ机器人插件。


1.API接口请求

我使用的是API接口请求json数据,这样简单又快捷!(确实就是懒)

API https://v2.alapi.cn/api/kd 

请求参数: token=[网站注册用户获取] number=[快递单号

注册网站为:ALAPI  接下来看代码


import requests

message = input("单号:")

url = "https://v2.alapi.cn/api/kd"  # 请求地址

data = {
    "token":"",  # 填写自己token
    "number":message  # 获取单号
    }

r = requests.post(url=url, data=data)  # post请求
#print(r.json())
json = r.json()  # 获取json

"""
处理数据输出
"""
print("内容可能会使您隐私暴露请谨慎使用!")
print(json['code'])
json_data = json['data']
print(json_data['com'])
info = json_data['info']
for i in info:
    print(i['time'])
    print(i['content'], 'n')

就这么点代码,谁都能看懂吧!很简单的!写入自己的token值就行了


2.创建成新的QQ插件

爬虫部分有了,那么插件部分就简单了!获取用户输入请求到api在返回数据给用户。基本就这样


from nonebot import on_keyword, on_command
from nonebot.typing import T_State
from nonebot.adapters.cqhttp import Message, Bot, Event
from nonebot.adapters.cqhttp.message import MessageSegment
import requests
from nonebot.permission import *
from nonebot.rule import to_me
kuaidi = on_keyword({'/快递查询'}, to_me())

@kuaidi.got('kd', prompt='请回复你要查询的快递单号(部分快递无法查询):')
async def get_kuaidi(bot: Bot, state: T_State):
    kd = state['kd']
    if kd == '':
        await kuaidi.send("你连快递单号都不会发吗?你这个废物!")
    else:
        """
        api爬取返回数据
        """
        try:
            url = "https://v2.alapi.cn/api/kd"  # Url

            """
            |Post Date
            """
            data = {
                "token":"",  # 授权token
                "number":kd  # 单号
                }
        
            r = requests.post(url=url, data=data)  # 发送post请求
            #print(r.json())
            json = r.json()


            await kuaidi.send("内容可能会使您隐私暴露请谨慎使用!")
            #(json['code'])
            """
            处理json await xxx.send()发送出去
            """
            json_data = json['data']
            await kuaidi.send(f"{json_data['com']}")
            info = json_data['info']
            for i in info:
                await kuaidi.send(f"{i['time']}n{i['content']}" + 'n')
        except:  # 异常处理
            await kuaidi.send("发现错误!请联系PYmili修复!")

部分快递会查找不出来,暂时未找到解决方案。大家可以在群:706128290共同学习讨论

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5070571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存