我有兴趣从不同的reddit subreddit获取数据。有没有人知道是否有类似twitter的reddit / other api会抓取所有页面?
答案 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
您可以使用hot
,new
或controversial
代替顶部。使用top时,您可以将?t=day
添加到网址的末尾,以指定当天的热门帖子。其他有效值为hour
,day
,week
,month
,year
或all
。
答案 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
要深入了解,请查看以下问题: