获取reddit数据

时间:2013-01-14 16:48:34

标签: web-scraping reddit

我有兴趣从不同的reddit subreddit获取数据。有没有人知道是否有类似twitter的reddit / other api会抓取所有页面?

3 个答案:

答案 0 :(得分:33)

是的,reddit有一个API,可以用于各种目的,如数据收集,自动评论机器人,甚至协助subreddit审核。

有一些地方可以发现有关reddit API的信息:

如果您已熟悉某种特定编程语言,则应查看existing set of API wrappers以了解各种语言。尽管我有偏见(我是软件包维护者),但我非常肯定PRAW,对于python,它支持最大数量的reddit API功能。

答案 1 :(得分:12)

请注意,如果您只是阅读数据,并且对回发到reddit不感兴趣,则可以从与每个subreddit关联的json提要中获取相当多的数据。使用这种方法,您根本不需要担心API - 只需请求相关的json文件并用您选择的语言解析它。

这是一个示例网址,它将返回包含来自Justrolledintotheshop subreddit的热门帖子的json对象: https://www.reddit.com/r/Justrolledintotheshop/top.json

您可以使用hotnewcontroversial代替顶部。使用top时,您可以将?t=day添加到网址的末尾,以指定当天的热门帖子。其他有效值为hourdayweekmonthyearall

答案 2 :(得分:1)

使用 ajax / javascript 解析来自 reddit 的JSON数据。

Reddit为GET请求启用了 CORS

例如,以jSON格式从reddit解析最后的视频



xhr = new XMLHttpRequest
xhr.open("GET","https://www.reddit.com/r/videos/.json",true)
xhr.send(null)
xhr.onreadystatechange = function() {
  if(this.status === 200) {
    console.log(JSON.parse(xhr.responseText))
  }
}




https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest

要深入了解,请查看以下问题:

Change youtube video ID without page reloading