介绍
npm 包 wikipedia-edits-stream 是一个可以订阅维基百科实时编辑事件的 Node.js 库。它能让你实时获得维基百科页面的编辑事件,包括了新的页面、更新的页面版本和删除的页面等等。这个库可以帮助你去搜集和分析维基百科的数据。
在这个教程中,我们将会学习如何使用 wikipedia-edits-stream 去订阅维基百科实时编辑事件,以及如何去处理罕见的特殊字符。
安装
在使用 wikipedia-edits-stream 之前,首先需要安装它。你可以在终端中运行以下命令来安装:
npm install --save wikipedia-edits-stream
开始使用
安装好了之后,我们就可以开始使用 wikipedia-edits-stream 了。首先,我们需要引入该库:
const WikipediaEditsStream = require('wikipedia-edits-stream');
接着,我们可以通过调用 new WikipediaEditsStream()
去创建一个实例。这个实例提供了一些选项,比如你可以通过 wikipediaLang
选项来选择你想要订阅的维基百科语言版本(比如 "en" 代表英文版维基百科),也可以通过 autoReconnect
选项来设置断开重连。
const stream = new WikipediaEditsStream({ wikipediaLang: 'en', autoReconnect: true });
有了这个实例之后,我们就可以通过调用 stream.on()
去订阅事件。WikipediaEditsStream 支持以下事件:
edit
: 当有页面被编辑时触发。事件回调接收到两个参数,第一个是页面标题,第二个是一个包含了编辑信息的对象。new
: 当有新页面被创建时触发。事件回调接收到一个参数,是新页面的标题。delete
: 当有页面被删除时触发。事件回调接收到一个参数,是被删除页面的标题。
-- -------------------- ---- ------- ----------------- ------- ----- -- - --------------- -------- ------- ------ --- ---------------- ------- -- - -------------------------------- --- ------------------- ------- -- - --------------- -------- ------- ---
这里我们只是简单地输出了一些 logs,但你可以去做更加复杂的操作,比如将实时编辑信息存储到数据库里等等。
处理罕见的特殊字符
WikipediaEditsStream 会将编辑信息以 JSON 格式返回。但是,有些罕见的字符会被序列化成 unicode 码点形式,这会导致数据在处理时变得不可读。为了避免出现这种情况,我们可以通过 unescapeUnicode
选项来取消序列化这些罕见的字符:
const stream = new WikipediaEditsStream({ wikipediaLang: 'en', autoReconnect: true, unescapeUnicode: true });
示例
下面是一个实际例子,我们使用 wikipedia-edits-stream 订阅英文版维基百科上某个页面的实时编辑事件:
-- -------------------- ---- ------- ----- -------------------- - ---------------------------------- ----- ------ - --- ---------------------- -------------- ----- -------------- ---- --- ----------------- ------- ----- -- - -- ------ --- ------------- - --------------- -------- ------- ------ - --- ---------------- ------- -- - -- ------ --- ------------- - -------------------------------- - --- ------------------- ------- -- - -- ------ --- ------------- - --------------- -------- ------- - ---
结论
npm 包 wikipedia-edits-stream 是一个非常棒的工具,可以让你方便地订阅维基百科实时编辑事件。通过本文,你应该能够快速上手并使用该库了。当然,如果你想深入掌握该库,可以深入阅读其 API 文档或者源代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055abe81e8991b448d8595