使用jQuery从另一个网页抓取内容

时间:2013-03-21 07:30:29

标签: javascript jquery

我刚开始学习jQuery。我偶然发现了“从其他网页抓取内容”。 我正在浏览其中一个网站中的代码,了解如何实现它,这是它的一部分:

$(document).ready(function(){
    $('#list').load("http://www.narutoget.com ul", function(responseText){
        $('#otherHtml').text(responseText);
    });
});

我无法从页面获取内容,即narutoget.com。 有人可以帮我解决一下如何实现它吗? 我想知道这样做是否合法。

2 个答案:

答案 0 :(得分:0)

由于您没有维护其他网站,same origin policy会阻止它,除非另一个网站通过包含好CORS headers明确允许它,唯一的解决方案就是这样做服务器端,您可以根据需要查询服务器。

如果您也维护其他网站,那么您只需要放置好的CORS标头,让第一个网站查询它。

这是一个关于为各种服务器端技术启用跨源请求的好教程:enable-cors

完成后,您只需查询服务器并分析页面:

$.get("http://www.narutoget.com", function(html) {
    var ul = $('ul', html).val();
    $('#otherHtml').text(ul);
});

答案 1 :(得分:0)

您可能会被禁止跨站点来源政策。 JSON-P是解决这个问题的一种方法,JQuery Cross-Domain .load() (self-constructing widget)

你收到错误了吗?查看NET下的Web检查器,查看该请求的状态代码。如果没有任何错误或跨域限制,我不明白问题是什么。你收到任何文字吗?