【问题标题】:Obtaining reddit data [closed]获取reddit数据[关闭]
【发布时间】:2012-12-28 16:07:41
【问题描述】:

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

【问题讨论】:

    标签: web-scraping reddit


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

        使用 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

        【讨论】:

          猜你喜欢
          • 2019-06-15
          • 2014-12-13
          • 2014-08-05
          • 2011-04-10
          • 2018-10-30
          • 2016-05-03
          • 1970-01-01
          • 2022-01-01
          • 2013-10-01
          相关资源
          最近更新 更多