node.js如何检查链接是否是有效的youtube链接

时间:2017-05-29 01:46:09

标签: javascript node.js youtube

所以我搜索了一个答案,看看链接是否是有效的YouTube链接。如果它是有效的YouTube链接(链接链接到实际视频),我会运行一些代码。有一个关于同一件事(check on server side if youtube video exist)的2014年堆栈溢出问题,但我尝试了所有方法但它没有用。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

由于您使用node.js,您可以使用请求库发送请求并使用库cheerio与响应进行通信

我做了一个快速刮,看到当youtube链接不可用时,这些div元素出现:

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
  }
});

您可以搜索id为" unavailable-submessage"的div元素。如果存在,则长度不再为0,因为它存在,然后继续使用您想继续的任何代码

preg_match('^(http(?:s?)?://www\.facebook\.com/(?:photo\.php\?fbid=\d+|([A-z0-9\.]+)\/photos(?:\/[0-9A-z].+)?\/(\d+)(?:.+)))?', 'https://www.facebook.com/photo.php?fbid=10201485039580806&set=a.2923144830611.2133032.1020548245&type=3&theater');

preg_match('^(http(?:s?)?://www\.facebook\.com/(?:photo\.php\?fbid=\d+|([A-z0-9\.]+)\/photos(?:\/[0-9A-z].+)?\/(\d+)(?:.+)))?', 'https://www.facebook.com/949pediatricdentistry/photos/a.1438335623065047.1073741827.1438300469735229/1866032310295374/?type=3&theater');
相关问题