我正在用PHP进行一个NEWS站点项目,对于这个项目,我想使用jQuery / JavaScript从其他NEWS站点获取内容。 jQuery中是否有任何功能可以从其他域名中删除内容?
而且我也不想使用庞大的服务器CPU,因为它是一个大学服务器。使用jQuery来删除内容是否使用了巨大的CPU?
在Stack Overflow中我读到了jQuery.get()
函数,是否可以使用此函数从其他站点抓取内容?
答案 0 :(得分:7)
使用Cross-Domain-Ajax JQuery Plugin你可以这样做:
$.ajax({
url: 'http://news.bbc.co.uk',
type: 'GET',
success: function(res) {
var headline = $(res.responseText).find('a.tsh').text();
alert(headline);
}
});
他们劫持ajax方法使用YQL来抓取html并将其作为JSON返回,然后将其用作字符串来抓取数据。查看Jquery Cross-domain Ajax Guide了解更多信息。
答案 1 :(得分:3)
你做不到。 The Same Origin Policy阻止了这一点。为此,您需要在使用XMLHTTP的服务器上执行此操作。
答案 2 :(得分:0)
我建议您使用PHP中的curl模块访问新闻网站的RSS订阅源以收集您想要嵌入的新闻。
设置cron进程以定期将RSS源下载到本地存储,并将其转换为可用于站点的格式。这将有助于在收集新闻时保持服务器上的负载,而不是每次访问页面时都是如此。
答案 3 :(得分:0)
你可以在PHP而不是jquery中使用CURL进行数据抓取你可以在PHP中看到使用CURL进行数据抓取的博客: http://www.codefire.org/blogs/item/data-scraping-using-curl-in-php.html