7

现在有很多 facebook 风格的从 url 获取数据的脚本,但它们都只能在 jQuery 和 PHP 的组合中工作。是否可以仅通过 jQuery 获取 url?

我在这里找到了如何通过以下方式获取页面的 mata-tags:

$('meta[name=description]').attr("content");
$("meta[property=og:title]").attr("content", document.title);

但是如何正确地在 jQuery.get() 中插入此查询以获取文本值?

$.get('http://www.imdb.com/title/tt1375666/', function(data) {
  $('meta[name=adescription]').attr("content");
});

如果最流行的网站使用 OpenGraph,我应该看看 jQuery.getJSON() 的方向吗?

4

4 回答 4

18

由于跨域政策,这似乎是不可能的

肯定有办法通过结合客户端和服务器端更改来做到这一点。相反,我一直在一个项目中使用这个 API,它可以作为一个简单的 REST API 来获取 url 的开放图形数据。 GET https://opengraph.io/api/1.0/site/<URL encoded site URL> https://opengraph.io/

它一直在为我工作,作为仅客户端 javascript 的解决方案。

[注意:我与此产品或其创建者没有任何关系。我通过在线研究找到它并在一个项目中使用它。]

于 2015-10-21T06:01:24.060 回答
6

可以在任何地方使用CORS

$.get("https://cors-anywhere.herokuapp.com/http://www.imdb.com/title/tt1375666/", function(data) {
    var meta = $(data).filter('meta[name="apple-itunes-app"]').attr("content");
    console.log(meta)
});

使用apple-itunes-app它是因为它是 IMDB 上的实际元标记。

于 2017-03-14T19:17:09.367 回答
5

带滤镜效果很好!

你可以试试。

$.get('http://www.guardian.co.uk/culture/2012/jun/21/jimmy-carr-apologises-error-tax', function(data) {
    $(data).filter('meta[name=adescription]').attr("content");
});   
于 2015-01-22T19:58:10.233 回答
4

使用从 URL 检索到的 html 数据

$.get('http://www.guardian.co.uk/culture/2012/jun/21/jimmy-carr-apologises-error-tax', 
function(data) {
   $(data).find('meta[name=adescription]').attr("content");
});
于 2012-06-21T10:23:09.507 回答