0

我正在寻找解析维基百科讨论页(例如,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)并找到每个贡献者制作的谈话文本。不确定贡献者的谈话从哪里开始和结束,以及回应他人发表的谈话文本的谈话文本是什么。有没有办法让讨论页返回我可以循环的片段?

非常感谢您的帮助!

4

1 回答 1

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

于 2020-03-09T10:34:14.100 回答