python - 用 python 制作一个(希望简单的)wiki 解析器

标签 python parsing mediawiki wikipedia

借助 joksnet 的程序 here我已经设法获得了我正在寻找的纯文本维基百科文章。

返回的文本包括标题的 Wiki 标记,例如 Albert Einstein article 的部分像这样返回:

==Biography==

===Early life and education===
blah blah blah

我真正想做的是将检索到的文本提供给一个函数,并将所有顶级部分用粗体 html 标记包装起来,将第二级部分用斜体包装起来,如下所示:

<b>Biography</b>

<i>Early life and education</i>
blah blah blah

但恐怕我什至不知道如何开始,至少在不使该功能过于幼稚的情况下是这样。我需要使用正则表达式吗? 非常感谢任何建议。

PS 对不起,如果“解析”这个词对于我在这里尝试做的事情来说太强了。

最佳答案

我认为这里最好的方法是让 MediaWiki 负责解析。我不知道你用的是什么库,但基本上这就是区别

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Albert%20Einstein&rvprop=content

返回原始维基文本和

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Albert%20Einstein&rvprop=content&rvparse

返回解析后的 H​​TML。

关于python - 用 python 制作一个(希望简单的)wiki 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16784154/

相关文章:

python - 函数 'cv::CascadeClassifier::detectMultiScale' 中的错误 : (-215:Assertion failed) ! 空()

python - 通过指定行/列从现有矩阵创建新矩阵

c - 编写获取下一个标记函数

javascript - Uncaught ReferenceError : *function here* is not defined

ubuntu - Ubuntu 的 MediaWiki 中的 LaTeX 方程

python - 检测帧特定区域中的对象

python - 在 Python/matplotlib 中从数据帧中在条形图顶部绘制线图

ios - JSON 解析 - 没有 URL session 任务恢复的替代方法是什么,因为它不是主线程的一部分?

C - 标记化字符数组

mediawiki - 进行媒体Wiki的注册需要管理员批准吗?