Repolode
spencermountain

spencermountain/wtf_wikipedia

一个 JavaScript 库,可将维基百科 wikitext 解析为纯文本、结构化 JSON、信息框、链接和图片。

Star
858
Fork
130
未关闭 Issue
54
最近提交
3天前

这是什么?

wtf_wikipedia 可以把维基百科原始的 wikitext 转换为可直接使用的数据。它能处理模板、嵌套链接、引用与参考文献等让维基标记难以解析的部分,并返回一个文档对象,提供纯文本、章节、句子、链接、分类、信息框和图片等方法。

该库可以直接通过 MediaWiki API 抓取页面,支持非英文维基百科以及 Fandom 等第三方维基。输出可导出为纯文本,或 small、medium、large 三种预设大小的 JSON。库能识别重定向和消歧义页面,并将动态模板与地理坐标转换为可读内容。

它同时支持 Node.js 与浏览器环境,附带 TypeScript 类型声明,并允许通过自定义模板解析器和插件进行扩展。项目说明它不是最快的解析器,也不支持转录(transclusion)的外部页面数据。

核心功能

  • 01将 wikitext 解析为纯文本、章节、句子和段落。
  • 02提取信息框的键值数据、链接、图片和分类。
  • 03可抓取任意语言的维基百科以及第三方 MediaWiki 站点的页面。
  • 04以 small、medium、large 三种预设大小导出 JSON。
  • 05支持自定义模板解析器和插件,并附带 TypeScript 类型。

适用场景

  • 从维基百科信息框和表格中构建体育名单、宇航员名录等结构化数据集。
  • 为自然语言处理或搜索索引提取干净的文章正文。
  • 配合 dumpster-dive 离线处理完整的维基百科数据转储。
  • 从 Fandom 等基于 MediaWiki 的站点抓取页面数据。

快速上手

  1. 1

    从 npm 安装该包

    npm install wtf_wikipedia
  2. 2

    导入并获取一篇维基百科条目

  3. 3

    从解析后的文档中读取纯文本

使用前须知

  • 不会获取外部页面的转入(transclusion)数据。
  • 不能完全保持页面顺序,也不保留模板的 CSS 样式。
  • wikitext 解析本身并不完美,部分页面可能无法正确呈现。

收录于专题

标签

#wikipedia#wikitext#parser#mediawiki#nlp#text-extraction#typescript#wikipedia-markup-parser

常见问题

wtf_wikipedia 是什么?
一个 JavaScript 库,可将维基百科 wikitext 解析为纯文本、结构化 JSON、信息框、链接和图片。 wtf_wikipedia 可以把维基百科原始的 wikitext 转换为可直接使用的数据。它能处理模板、嵌套链接、引用与参考文献等让维基标记难以解析的部分,并返回一个文档对象,提供纯文本、章节、句子、链接、分类、信息框和图片等方法。
wtf_wikipedia 可以免费使用吗?用的什么许可证?
wtf_wikipedia 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
wtf_wikipedia 还在维护吗?
活跃维护中。wtf_wikipedia 最近一次提交是在 2026年11月4日。
wtf_wikipedia 适合用来做什么?
从维基百科信息框和表格中构建体育名单、宇航员名录等结构化数据集。 为自然语言处理或搜索索引提取干净的文章正文。 配合 dumpster-dive 离线处理完整的维基百科数据转储。 从 Fandom 等基于 MediaWiki 的站点抓取页面数据。
wtf_wikipedia 怎么安装和运行?
从 npm 安装该包: npm install wtf_wikipedia 导入并获取一篇维基百科条目 从解析后的文档中读取纯文本
在哪里获取 wtf_wikipedia?
源代码和安装说明在 GitHub 上:https://github.com/spencermountain/wtf_wikipedia

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目