擅长:python、mysql、java
<p>如果您的意思是“我只想获取wikitext”,那么看看<code>wikipedia.Page</code>类和<code>get</code>方法。在</p>
<pre><code>import wikipedia
site = wikipedia.getSite('en', 'wikipedia')
page = wikipedia.Page(site, 'Test')
print page.get() # '''Test''', '''TEST''' or '''Tester''' may refer to:
#==Science and technology==
#* [[Concept inventory]] - an assessment to reveal student thinking on a topic.
# ...
</code></pre>
<p>这样您就可以从文章中获得完整的原始wikitext。在</p>
<p>如果您想去掉wiki语法,比如将<code>[[Concept inventory]]</code>转换为概念清单等等,那么这将更加痛苦。在</p>
<p>这个问题的主要原因是mediawikiki语法没有定义语法。这使得它很难解析和剥离。我目前还不知道有什么软件可以让你准确地做到这一点。当然还有MediaWiki解析器类,但是它是PHP,有点难以理解,而且它的用途也非常不同。在</p>
<p>但如果您只想去掉链接或非常简单的wiki构造,请使用regex:</p>
^{pr2}$
<p>然后对于管道连接:</p>
<pre><code>text = re.sub('\[\[(?:[^\]\|]*)\|([^\]\|]*)\]\]', '\\1', 'Lorem ipsum [[dolor|DOLOR]] sit amet, consectetur adipiscing elit.')
print text #Lorem ipsum DOLOR sit amet, consectetur adipiscing elit.
</code></pre>
<p>等等。在</p>
<p>但例如,没有可靠的简单方法从页面中剥离嵌套模板。在评论中有链接的图片也是如此。这非常困难,需要递归地删除最内部的链接,并用标记替换它,然后重新开始。看看中的<code>templateWithParams</code>函数维基百科.py如果你想的话,但这并不漂亮。在</p>