morny-book/inline/share-bili.md

97 lines
3.7 KiB
Markdown
Raw Normal View History

2023-02-19 02:46:51 +08:00
# Bilibili 分享工具
这个内联查询可以解析 bilibili 的分享链接并将它重新格式化为标准的 AV/BV 视频号 & 视频链接。
你也可以通过它快速进行 av 号和 BV 号互转。
## 输入
<style>
.http { color: mediumseagreen; }
.domain { color: orange; }
.www { color: lightsalmon; }
.s { color: mediumorchid; }
.vpath { color: gray; }
.video { color: cornflowerblue; }
.para { color: tan; }
.u { text-decoration: underline; }
</style>
目前仅支持 *Bilibili 视频链接*或是 *Bilibili av/BV 号*作为输入。
- Bilibili 视频链接即类似于 <code><span class=http>https://</span><span class=www>www.</span><span class=domain>bilibili.com</span>/<span class=s>s/</span><span class=vpath>video/</span><span class=video>av10047324</span></code>
- 其中的 `https://`{.http} 也可以被替换为 `http://`{.http},或者,这部分也可以整个不存在。
- `www.`{.www} 同样可以不存在。
- 链接中 `s/`{.s} 部分是搜索引擎限定的链接格式,这一部分也可有可无。
- `video/`{.vpath} 是必须存在的,它标示着这是一个视频链接。
- `av100847723`{.video} 即是视频的av号或BV号。av/BV 都可以正常解析。
- 有时链接后面可能会有 `/?spm_id_fr...`{.para} 这种以 `?`{.para} 开头的一大段。这一部分也能正常识别并会作为无用信息被忽略。
- 也可以只有一个 av 号或是 BV 号 `BV1Xd4y1V75q`{.video}填进来也是可以正常识别的。
## 输出
所有输入的链接或是视频id都会被在内部被解析和转换然后 Bilibili 分享工具将会在内联查询选单中给出你所提供的视频解析后的 av 号和 BV 号,你可以选择它们中的一个来进行最后的输出。
不论选择了哪种格式,分享工具最终将会输出 `av10047324`{.video.u} 一个视频id文本附带有<small>被规范化的<code><span class=http>https://</span><span class=www>www.</span><span class=domain>bilibili.com</span>/<span class=vpath>video/</span><span class=video>av10047324</span></code></small>它的视频链接。文本和链接中的视频号都会是你所选择的那个格式。
最终你可以通过直接点击来打开视频或是复制文本来复制视频id或是复制链接来复制最终规范化后的视频链接。
---
## technic infomation
<style>
.param {
font-family: var(--font-monospace);
font-size: 0.8em;
color: steelblue;
font-style: italic;
}
</style>
链接或av/bv号解析 所使用的 正则表达式 : `^(?:(?:https?://)?(?:www\.)?bilibili\.com(?:/s)?/video/((?:av|AV)(\d+)|(?:bv|BV)([A-HJ-NP-Za-km-z1-9]+))/?(\?(?:p=(\d+))?.*)?|(?:av|AV)(\d+)|(?:bv|BV)([A-HJ-NP-Za-km-z1-9]+))$`{.regex}
<table>
<caption>av version</caption>
<thead><tr><th colspan=2>inline query node info</th></tr></thead>
<tr><td align=right><b>title</b></td><td>
[bilibili] Share video / av<span class=param>${av_id}</span>
</td></tr>
<tr><td align=right><b>id</b></td><td>
<code>[morny/share/bili/av]</code>
</td></tr>
<tr><td align=right><b>cache</b></td><td>
<u>default<small><code>300</code></small></u>
</td></tr>
<tr><td align=right><b>is_personal</b></td><td>
<u>default<small><code>false</code></small></u>
</td></tr>
</table>
<table>
<caption>bv version</caption>
<thead><tr><th colspan=2>inline query node info</th></tr></thead>
<tr><td align=right><b>title</b></td><td>
[bilibili] Share video / bv<span class=param>${bv_id}</span>
</td></tr>
<tr><td align=right><b>id</b></td><td>
<code>[morny/share/bili/bv]</code>
</td></tr>
<tr><td align=right><b>cache</b></td><td>
<u>default<small><code>300</code></small></u>
</td></tr>
<tr><td align=right><b>is_personal</b></td><td>
<u>default<small><code>false</code></small></u>
</td></tr>
</table>