Module:Bilibili:修订间差异
来自OTTOWiki
更多操作
| (未显示同一用户的13个中间版本) | |||
| 第9行: | 第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 response = mw. | local response = mw.ext.externalData.getWebData{ | ||
url = url, | |||
format = "json" | |||
} | |||
if not response then | if not response then | ||
| 第15行: | 第18行: | ||
end | end | ||
if response.code == 0 and response.__json.data.title then | |||
if response. | return response.__json.data.title -- 返回视频标题 | ||
return | else | ||
return "视频不存在或获取失败" | |||
end | 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 | |||
return " | |||
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 | end | ||
if | if response.code == 0 and response.__json.data.stat.view then | ||
return | return response.__json.data.stat.view | ||
else | else | ||
return "视频不存在或获取失败" | return "视频不存在或获取失败" | ||
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