在youtube上查找Open Graph标签

Set*_*eth 4 javascript youtube

我正在制作一个Tampermonkey脚本,如果其中og:video:tag包含"英雄联盟",则会在youtube上隐藏相关视频.

当我使用的Open Graph调试器(链接),它发现许多标签(og:video:url,og:video:width,og:video:tag,...),但是当我在DOM搜索,我无法找到任何这些元素.

我已尝试禁用所有扩展程序,从干净的配置文件,隐身模式以及使用Open Graph Extension仍然无法找到标记.

其他一些尝试:

$('[property="og:type"]') => null.

document.getElementsByTagName('meta') => two unrelated tags.
Run Code Online (Sandbox Code Playgroud)

Ada*_*zad 5

YouTube的视频源包含只有当这些标签userAgent

facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
Run Code Online (Sandbox Code Playgroud)

或者(我在测试中使用过这个)

facebookexternalhit/1.1
Run Code Online (Sandbox Code Playgroud)

您可以通过使用这些用户代理向DevTools添加新设备来测试这些.我不确定您是否要使用这些标签,但您有两种选择:

  • 如果有用于查找这些标记的后端处理程序,则可以将用户代理切换到适当的处理程序.
  • 如果您正在使用浏览器扩展程序,则应设置代理程序以执行上述操作.发送视频固定链接并返回标记对象.

  • 实际上,User-Agent标头是关键.然而,它不一定是Facebook的.以下一个也适用:"Mozilla/5.0(兼容; MySuperTool)" (2认同)