我想
我研究并考虑过Jsoup,但是,看起来Jsoup无法处理实时流。我将如何在Java中实现这一目标?
最终,我的目标是在流继续流动的同时解析并将我需要的内容放入trendxDB数据库。
答案 0 :(得分:0)
打开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
}