97 lines
3.7 KiB
Markdown
97 lines
3.7 KiB
Markdown
# 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>
|