【问题标题】:Parse live stream of data Wikipedia解析维基百科的实时数据流
【发布时间】:2017-07-17 15:40:22
【问题描述】:
【问题讨论】:
标签:
java
parsing
real-time
influxdb
wikipedia-api
【解决方案1】:
打开 HTTPS 连接,将连接的输入流包装在 UTF-8 解码 java.io.BufferedReader 中,并在循环中逐行读取输入。然后根据它们各自的内容解析这些行。 id 和 data 行似乎在前缀后包含 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
}