24

我有兴趣从不同的 reddit subreddits 获取数据。有谁知道是否有类似 twitter 的 reddit/其他 api 来抓取所有页面?

4

3 回答 3

33

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

有几个地方可以发现有关 reddit API 的信息:

如果您已经熟悉某种特定的编程语言,您应该查看针对各种语言的现有 API 包装器集。尽管我有偏见(我是包维护者),但我很确定PRAW对于 python 支持最多的 reddit API 功能。

于 2013-01-14T17:56:57.820 回答
15

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

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

hot您可以使用、new或代替顶部controversial。使用 top 时,您可以添加?t=day到 url 的末尾以指定当天的置顶帖子。其他有效值为hourdayweekmonthyearall

于 2017-06-26T22:02:01.020 回答
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

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

无需重新加载页面即可更改 youtube 视频 ID

于 2018-02-20T11:14:17.210 回答