我想获取youtube页面源代码的一部分。
我尝试过跨域ajax技术,例如yahoo yql,JsonP。在雅虎YQL的帮助下,我可以获取部分源代码。但是,由于它可能是不同的域,我从ajax响应文本中获得的内容中没有参数。如何在不使用服务器端程序的情况下解决问题?感谢
链接:http://www.youtube.com/watch?v=F6JiCJ5x3Qw
您可以从元素检查器中看到,有一行<div id="player-api" class="player-width player-height off-screen-target watch-content player-api" style="overflow: hidden;">
我想获得这个div中的所有元素
答案 0 :(得分:2)
在这种情况下,最简单的方法可能是使用YouTube API。
但是,一般来说,您要做的是将页面加载到iFrame而不是div:
<iframe id="iframe" src="http://targetwebsite.com/"></iframe>
然后按如下方式获取iFrame的HTML:
document.getElementById('iframe').contentWindow.document.body.innerHTML
答案 1 :(得分:1)
如果您无法控制端点(在本例中为youtube),请在您自己的服务器上使用代理脚本
因此,您不会调用youtube网址,而是调用yourproxyscript?some_arguments。现在,“yourproxyscript”将加载youtube网址并将其返回到您的ajax调用,绕过任何跨域问题。