【问题标题】:Parse live stream of data Wikipedia解析维基百科的实时数据流
【发布时间】:2017-07-17 15:40:22
【问题描述】:

我想要

  1. 检索
  2. 解析某些内容并
  3. 根据维基百科在此处提供的关于最近更改的实时数据流写入数据库:https://stream.wikimedia.org/v2/stream/recentchange

我研究并正在考虑 Jsoup,但是,看起来 Jsoup 无法处理实时流。我将如何在 Java 中执行此操作?

最终,我的目标是在流继续流动的同时解析并仅将我需要的内容放入 influxDB 数据库中。

【问题讨论】:

    标签: java parsing real-time influxdb wikipedia-api


    【解决方案1】:

    打开 HTTPS 连接,将连接的输入流包装在 UTF-8 解码 java.io.BufferedReader 中,并在循环中逐行读取输入。然后根据它们各自的内容解析这些行。 iddata 行似乎在前缀后包含 JSON,因此您可以使用您选择的 JSON 库。 然后将过滤后的数据写入数据库。

    这是一个仅使用 JDK 的简化示例:

    URLConnection conn = new URL
        ("https://stream.wikimedia.org/v2/stream/recentchange").openConnection();
    
    BufferedReader reader = new BufferedReader
        (new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
    
    String line;
    
    while ((line = reader.readLine()) != null) {
        // 1. parse interesting lines according to
        //    their prefix event, id, or data
        // 2. write filtered data to the database
    }
    

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多