0
- 檢索
- 解析數據,維基百科提供了有關最近的變化在這裏的實時流的特定內容和
- 寫入到數據庫: https://stream.wikimedia.org/v2/stream/recentchange
我研究過並正在考慮Jsoup,但是,它看起來像Jsoup無法處理實時流。我將如何去做這個在Java中?
最終,我的目標是解析並只將需要的內容放入influxDB數據庫中,同時流繼續流動。
我研究過並正在考慮Jsoup,但是,它看起來像Jsoup無法處理實時流。我將如何去做這個在Java中?
最終,我的目標是解析並只將需要的內容放入influxDB數據庫中,同時流繼續流動。
打開一個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
}