在joksnet的程序here的帮助下,我已经设法得到了我正在寻找的纯文本维基百科文章。在
返回的文本包括标题的Wiki标记,因此,例如,Albert Einstein article的部分返回如下:
==Biography==
===Early life and education===
blah blah blah
我真正想做的是将检索到的文本输入到一个函数中,并将所有顶层部分用粗体html标记括起来,第二级部分用斜体表示,如下所示:
^{pr2}$但恐怕我甚至不知道如何开始,至少不能不让函数变得过于天真。我需要使用正则表达式吗? 如有任何建议,不胜感激。在
抱歉,如果“解析”是一个太强的词,我在这里试图做的。在
我认为最好的方法是让MediaWiki负责解析。我不知道你用的库,但基本上这就是
{a1}
它返回原始wikitext和
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Albert%20Einstein&rvprop=content&rvparse
返回已解析的HTML。在
您可以使用regex和scraping模块,如Scrapy和Beautifulsoup来解析和抓取wiki页面。 既然您已经澄清了您的问题,我建议您使用github上托管的py wikimarkup模块。链接是https://github.com/dcramer/py-wikimarkup/。我希望这有帮助。在
最后我做了这个:
我将带有wiki标题的文本字符串传递给该函数,它返回相同的文本,并将==和===替换为粗体和斜体HTML标记。最后一件事是删除标题前后的空格,例如,},而不是{}
== title ==
被转换成{到目前为止工作顺利。在
谢谢你们的帮助, 亚历克斯
相关问题 更多 >
编程相关推荐