【问题标题】:How to parse Wikipedia talk page content by contributor?如何按贡献者解析维基百科讨论页内容?
【发布时间】:2020-03-04 18:01:02
【问题描述】:

我希望解析 Wikipedia 讨论页(例如,https://en.wikipedia.org/wiki/Talk:Elon_Musk)。我想循环浏览贡献者/编辑的文本。不知道我该怎么做。现在,我有以下代码:

import pywikibot as pw
wikiPage="elon_musk"
page = pw.Page(pw.Site('en'), wikiPage)
talkpage = page.toggleTalkPage()
s=talkpage.text 
cs=talkpage.contributors()

似乎很难解析文本(即 s)并找到每个贡献者的谈话文本。不确定贡献者的谈话从哪里开始和结束,以及回应他人发表的谈话文本的谈话文本是什么。有没有办法让讨论页返回我可以循环的片段?

非常感谢您的帮助!

【问题讨论】:

    标签: python mediawiki wikipedia wikipedia-api pywikibot


    【解决方案1】:

    我不知道 pywikibot,但你可以通过普通的 API 做到这一点。这将获取修订:https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Talk:Elon%20Musk&rvlimit=500&rvprop=timestamp|user|comment|ids

    然后您可以传递修订 ID 以获取每次编辑的更改:例如https://en.wikipedia.org/w/api.php?action=compare&fromrev=944235185&torev=944237256

    【讨论】:

    • 谢谢。但我不确定讨论页修订是否是获得每个编辑的 cmets 和相关线程对话的好方法。
    • 那么如果你解释一下你真正在寻找什么可能会有所帮助
    猜你喜欢
    • 2015-05-08
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 2020-06-11
    • 2016-03-27
    • 2011-04-22
    • 1970-01-01
    相关资源
    最近更新 更多