从网址获取数据以放在网站上

时间:2013-10-19 20:11:56

标签: javascript jquery

有没有办法通过jQuery或Javascript超链接来自不同Url的信息,例如Youtube视频到我网站的观看量?

enter image description here

我试过了:

<script>
$(document).ready(function(){
    $('#response').load('http://www.youtube.com/watch?v=lrC2alc_ekol .watch-view-count');
});
</script>

HTML:

<div id="response"></div>

2 个答案:

答案 0 :(得分:2)

是的,这简称为应用程序编程接口或API。如果您正在寻找YouTube API,可以在此处找到:https://developers.google.com/youtube

答案 1 :(得分:0)

是的,即您可以使用jQuery Load,一旦加载了外部页面,就可以使用选择器提取您想要的特定信息。

jQuery load external site page

$('#myEl').load('remotePageUrl #remotepageIDselector');

如果myEl是页面中的元素,则remotePageUrl是外部站点,而remotepageIDselector是包含所需信息的元素的id,您可以使用任何选择器。

更新: @ user2768038,我必须去man,但是下面的代码片段应该可以工作,会发生的是你正在进行跨域调用,前面的答案适用于你自己的域,但是下面的代码应该可以工作:

$.getJSON('http://anyorigin.com/get?url=youtube.com/watch?v=lrC2alc_eko&callback=?', function(data){

    var valueToFind;
    $.each($(data.contents), function(i, el) {

        // if we have the value scape ffrom the cicle
        if(valueToFind && typeof valueToFind !== undefined) {
            // alert the requested value
            alert(valueToFind);
            return false;
        }

        // search for the element in the current dom section
        valueToFind = $(el).find('.watch-view-count').html();

    });
});

但这确实是这样的: 1-贵你正在对页面做一个完整的请求, 2-昂贵的你多次遍历完整的DOM树。 3-不安全,因为外部网站所有者可以随时更改代码。

此外,我的解决方案远非最佳,我将在晚上更新帖子,但这应该在本地工作,至少在Firefox中,以及将代码发布到服务器后的crossbrowser。