所以我搜索了一个答案,看看一个链接是否是一个有效的 youtube 链接。如果它是有效的 youtube 链接(链接链接到实际视频),我会运行一些代码。 2014 年有一个关于同一件事的堆栈溢出问题( check on server side if youtube video exist ),但我尝试了所有方法,但没有奏效。有什么帮助吗?
最佳答案
由于您使用 node.js,因此您可以使用请求库来发送请求并与响应库进行通信
我快速抓取了一下,发现当 youtube 链接不可用时,会出现这些 div 元素:
<div class="content">
<h1 id="unavailable-message" class="message">
The video you have requested is not available.
</h1>
<div id="unavailable-submessage" class="submessage">
Sorry about that.
</div>
</div>
您可以搜索 id 为“unavailable-submessage”的 div 元素,如果它存在,则长度不再为 0,因为它存在,然后继续使用您想要继续的任何代码
request
.get(youryoutubelink, (err, response, body) => {
if (err) throw err;
const $ = cheerio.load(body);
const length = $("#unavailable-message").length;
if (length > 0) { // if the video is unavailable
// do something
} else {
// do something when the video exists
}
});
关于javascript - node.js 如何检查链接是否是有效的 youtube 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44233642/