来自维基百科的解析器用户页面信息。如何去除冗余信息?

Parser user page information from Wikipedia. How to remove redundant information?

我正在尝试使用 API 从维基百科获取 public 用户信息。 (使用脚本 get_pages_revisions.py)。获得修订后,我使用 BeautifulSoup 去除所有 HTML 标签。但是,我发现剩下的文字还是比较乱。

例如,当我从User:(aeropagitica)中获取文本数据时,结果显示如下: (其中一小部分)

{{administrator}}
{{divbox|gray||Wikipedia is currently working on {{NUMBEROFARTICLES}} articles. The local time at the Wikipedia servers is '''{{CURRENTTIME}}''' on {{CURRENTDAYNAME}} {{CURRENTDAY}} {{CURRENTMONTHNAME}}, {{CURRENTYEAR}}.}}

• '''[[:WP:AIV|AIV]]''' • 
'''[[Wikipedia:Articles for deletion/Log/{{CURRENTYEAR}} {{CURRENTMONTHNAME}} {{CURRENTDAY}}|AfD]]''' • '''[[User:(aeropagitica)/RFA summary|RfA]]''' • '''[[:Category:Candidates for speedy deletion|CSD]]''' • '''[[Wikipedia:Template messages|tpl]]''' • '''[[Wikipedia:Template_messages/User_talk_namespace|user talk tpl]]''' • '''[[Special:Newpages|new]]''' • '''[[Wikipedia:Stubs|stubs]]''' • '''[[Wikipedia:Copyright problems|(c)]]''' • '''[[Wikipedia:Manual of Style|MoS]]''' • '''[[User:Interiot/Tool2|edits (interiot)]]''' • '''[[Wikipedia:Proposed_deletion|prod]]''' • '''[[Special:Log/Newusers|newusers]]''' • '''[http://tools.wikimedia.de/~essjay/edit_count/Count.php? PHP interiot's tool]''' • '''[http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate Interiot's tool 1]''' • '''[[:Wikipedia:Article Creation and Improvement Drive|Article Improvement]]'''

{{purge|Purge server cache}}

I was [[Wikipedia:Requests_for_adminship/%28aeropagitica%29|nominated for adminship]] by [[User:King of Hearts|King of Hearts]] on February 27th 2006. The vote achieved consensus and I was accepted for the role with a score of '''40/10/5''' on March 7th 2006. 

When I am not working on Wikipedia pages, I enjoy learning to play acoustic fingerstyle guitar, photography, learning languages (Spanish and French) and travel.

''Userboxes''

{| style="text-align:center; border: 1px solid #000000; background-color:#00cc99; width:100%; -moz-border-radius: 15px;"
|-  padding:5em;padding-top:0.5em;"
|{{user en}}

请问:

  1. 如何删除 style="...."cellpadding="...." 之类的字符串?我可以一次删除所有这些格式字符串吗?
  2. 有很多这样的块:
{{Userbox|#77E0E8|#D0F8FF|{{CURRENTDAY}}|It is currently a [[{{CURRENTDAYNAME}}]]. I don't like {{CURRENTDAYNAME}}s.}}

"It is .."后面的信息是我们需要的,但是前面的文字:Userbox|#77E0E8,也用于网页布局定义,应该被删除。有什么办法可以删除这一行的前半部分吗? (Userbox只是其中一种,还有很多其他类型,如User:Category:,因此很难用自定义的re规则移动它们)

(我是 BeautifulSoup 和 Web Parser 的初学者,所以任何建议或提示都会很有价值。提前感谢您的帮助!)

您使用的修订版 API 只允许您将页面内容作为 Wikitext。这就是您看到的 "messy" 文本。

您可以改用 Parse API 来获取呈现的 HTML 页面内容,然后您可以将其放入您选择的本地 DOM 解析器或只是剥离HTML 标签,如果适合你的话。

有关详细信息,请参阅 MediaWiki API documentation,包括有关如何请求页面已解析内容的示例。