Module:Bilibili:修订间差异
来自OTTOWiki
更多操作
| (未显示2个用户的15个中间版本) | |||
| 第1行: | 第1行: | ||
local p = {} | local p = {} | ||
| 第10行: | 第9行: | ||
-- 调用B站API获取视频信息 | -- 调用B站API获取视频信息 | ||
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid | local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid | ||
local | local response = mw.ext.externalData.getWebData{ | ||
url = url, | |||
format = "json" | |||
} | |||
if not | if not response then | ||
return "获取信息失败" | return "获取信息失败" | ||
end | end | ||
if response.code == 0 and response.__json.data.title then | |||
if | return response.__json.data.title -- 返回视频标题 | ||
return | |||
else | else | ||
return " | return "视频不存在或获取失败" | ||
end | |||
end | |||
function p.getPic(frame) | |||
local bvid = frame.args[1] | |||
if not bvid or bvid == '' then | |||
return "无效BV号" | |||
end | |||
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid | |||
local response = mw.ext.externalData.getWebData{ | |||
url = url, | |||
format = "json" | |||
} | |||
if not response then | |||
return "获取信息失败" | |||
end | |||
if response.code == 0 and response.__json.data.pic then | |||
return response.__json.data.pic | |||
else | |||
return "视频不存在或获取失败" | |||
end | |||
end | |||
function p.getOwner(frame) | |||
local bvid = frame.args[1] | |||
if not bvid or bvid == '' then | |||
return "无效BV号" | |||
end | |||
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid | |||
local response = mw.ext.externalData.getWebData{ | |||
url = url, | |||
format = "json" | |||
} | |||
if not response then | |||
return "获取信息失败" | |||
end | |||
if response.code == 0 and response.__json.data.owner.name then | |||
return response.__json.data.owner.name | |||
else | |||
return "视频不存在或获取失败" | |||
end | |||
end | |||
function p.getView(frame) | |||
local bvid = frame.args[1] | |||
if not bvid or bvid == '' then | |||
return "无效BV号" | |||
end | |||
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid | |||
local response = mw.ext.externalData.getWebData{ | |||
url = url, | |||
format = "json" | |||
} | |||
if not response then | |||
return "获取信息失败" | |||
end | |||
if response.code == 0 and response.__json.data.stat.view then | |||
return response.__json.data.stat.view | |||
else | |||
return "视频不存在或获取失败" | |||
end | end | ||
end | end | ||
return p | return p | ||
2026年2月6日 (五) 17:50的最新版本
local p = {}
function p.getTitle(frame)
local bvid = frame.args[1]
if not bvid or bvid == '' then
return "无效BV号"
end
-- 调用B站API获取视频信息
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid
local response = mw.ext.externalData.getWebData{
url = url,
format = "json"
}
if not response then
return "获取信息失败"
end
if response.code == 0 and response.__json.data.title then
return response.__json.data.title -- 返回视频标题
else
return "视频不存在或获取失败"
end
end
function p.getPic(frame)
local bvid = frame.args[1]
if not bvid or bvid == '' then
return "无效BV号"
end
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid
local response = mw.ext.externalData.getWebData{
url = url,
format = "json"
}
if not response then
return "获取信息失败"
end
if response.code == 0 and response.__json.data.pic then
return response.__json.data.pic
else
return "视频不存在或获取失败"
end
end
function p.getOwner(frame)
local bvid = frame.args[1]
if not bvid or bvid == '' then
return "无效BV号"
end
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid
local response = mw.ext.externalData.getWebData{
url = url,
format = "json"
}
if not response then
return "获取信息失败"
end
if response.code == 0 and response.__json.data.owner.name then
return response.__json.data.owner.name
else
return "视频不存在或获取失败"
end
end
function p.getView(frame)
local bvid = frame.args[1]
if not bvid or bvid == '' then
return "无效BV号"
end
local url = "https://api.bilibili.com/x/web-interface/view?bvid=" .. bvid
local response = mw.ext.externalData.getWebData{
url = url,
format = "json"
}
if not response then
return "获取信息失败"
end
if response.code == 0 and response.__json.data.stat.view then
return response.__json.data.stat.view
else
return "视频不存在或获取失败"
end
end
return p