所以这就是我想要做的事情:
这个问题涉及的应用程序在这里:https://github.com/viperfx/ng-juketube,给每个人一些背景信息。所以我使用youtube Iframe API在后台加载YouTube视频,为其提供YouTube视频ID。这很好用。接下来,我想找出有时在侧边栏上出现的youtube mix的播放列表ID。
目前的解决方案: 我在后端使用nodejs来刮取youtube视频页面,然后在侧栏中查找字符串'Youtube Mix'。当我在本地运行我的服务器时,这很好用。但是,当我从heroku运行应用程序时,我得不到相同的结果(因为在混合中没有显示),因为我假设youtube服务器和我的IP地址正在影响youtube mix出现。
所以我的问题是如何使用客户端(浏览器)而不是服务器获取youtube mix播放列表ID?
我尝试过尝试将iftube页面加载为iframe等功能 - 但无效。 iframe只允许/ embed *
答案 0 :(得分:1)
所以这就是我解决这个问题的方法。
使用名为http://www.corsproxy.com/的服务,我能够使用客户端代码来刮取youtube并获取播放列表ID。以下是我的代码中显示解决方案的片段:
$.get('http://www.corsproxy.com/www.youtube.com/watch?v='+newVal.videoId,function(response) {
var doc = new DOMParser().parseFromString(response, 'text/html');
$scope.mixId = doc.querySelector('.related-playlist').getAttribute('href').split('list=')[1];
$scope.$apply();
});