目录
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共同学习讨论
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)