获取Reddit数据

24
我对从不同的Reddit子论坛获取数据很感兴趣。请问是否有Reddit/其他API类似于Twitter,可以爬取所有页面的数据?
3个回答

33

是的,Reddit有一个API可用于各种目的,如数据收集、自动评论机器人,甚至协助子版块管理。

有几个地方可以了解Reddit的API信息:

如果你已经熟悉某个特定的编程语言,你应该查看那些不同语言现有的API包装器。尽管我有偏见(我是软件包维护者),但我相当确定Python的PRAW支持最多的Reddit API功能。


15
请注意,如果您只是阅读数据,而不想向Reddit发布帖子,您可以从与每个 subreddit 相关联的 json feeds 中获取大量数据。使用此方法,您根本不需要担心 API —— 您只需请求相关的 json 文件并在您选择的语言中解析它即可。
以下是一个示例 URL,将返回包含 Justrolledintotheshop subreddit 的热门帖子的 json 对象: https://www.reddit.com/r/Justrolledintotheshop/top.json 在 top 的位置上,您可以使用 hot、new 或 controversial。当使用 top 时,您可以在 url 的末尾添加 ?t=day 来指定一天内的热门帖子。其他有效值为 hour、day、week、month、year 或 all。

1

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

CORS 已启用以进行 GET 请求。

以下是一个示例,解析最近的 视频 以 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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接