【问题标题】:grabbing Reddit data via javascript通过 javascript 获取 Reddit 数据
【发布时间】:2014-12-13 02:03:17
【问题描述】:

我看到了这篇文章,这正是我想要做的:

How to extract url data from Reddit API using JSON

我已将提供的 jsfiddle (NSFW http://jsfiddle.net/DHKtW/170/) 修改为:

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function(data) {
  $.each(data.data.children, function(i,item){
    console.log($('.score.likes').html(item));
  });
});

我的目标是收集给定页面上的总点赞数。当您运行它并查看控制台时,将返回对象但不是实际数量。我认为只在选择器上调用 html 会返回票数,但显然是错误的。有更好的方法吗?

【问题讨论】:

  • 当链接到成人内容时,您应该始终告知人们这一点。我已编辑您的帖子,在您的 JSFiddle 链接之前添加 NSFW(工作不安全)。
  • $('.score.likes') 的用途是什么 - 是您正在处理的页面吗?您没有尝试使用 CSS 选择器解析 JSON?
  • 谢谢詹姆斯。我只是在重新使用该帖子,并没有那样想……感谢您的澄清。 Rup - $('.score.likes') 是存放实际投票值的 DOM 元素的选择器。我在这里读到stackoverflow.com/questions/10844664/…,您可以直接从 html 中获取它...

标签: javascript jquery reddit


【解决方案1】:

您需要console.log(item) 才能看到返回的数据。使用它我们可以看到item.data.score 返回帖子的分数。

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function (data) {
    $.each(data.data.children, function (i, item) {
        console.log(item.data);
        $('<div/>', {
            text: 'Post ' + item.data.permalink + ' has a score of ' + item.data.score
        }).appendTo('#images');
    });
});

http://jsfiddle.net/DHKtW/353/

您看到没有编号的对象的原因是因为您调用了console.log($('selector')),它返回的不是来自请求的 json 的 jQuery 对象。

【讨论】:

  • 啊完美!谢谢斯波基。正是我想要的!接受还有 9 分钟...
猜你喜欢
  • 2012-12-28
  • 1970-01-01
  • 2014-12-11
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-07
相关资源
最近更新 更多