如何获取维基百科页面的所有存档讨论页?

How to get all archived talk pages of a wikipedia page?

我正在使用以下代码获取给定维基百科页面的讨论页。

import pywikibot as pw
page = pw.Page(pw.Site('en'), 'Elon_Musk')
talkpage = page.toggleTalkPage()
talkpage.text

这工作正常,但它不会 return 所有存档的讨论页。有没有一种方法可以以编程方式找到给定讨论页的存档并循环遍历它们以获取文本?

非常感谢!

您可以使用以下代码获取所有子页面:

import pywikibot as pw
site = pw.Site('en', 'wikipedia')
for page in site.allpages(prefix='Elon Musk/', namespace='Talk'):
    print(page.title())
    print(page.text)

存在一个页面"Talk:Elon_Musk/FAQ"。如果您不想包含此页面和类似页面,则需要在返回文本之前添加额外的一行:if 'Archive' in page.title(): .