Как получить все архивированные страницы обсуждения на странице википедии? - PullRequest
2 голосов
/ 27 февраля 2020

Я использую следующий код для получения страницы обсуждения для данной страницы Википедии.

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

Это работает нормально, но не возвращает все заархивированные страницы обсуждения. Есть ли способ, которым я могу программно найти архивы для данной страницы разговора и l oop через них, чтобы получить текст?

Большое спасибо!

1 Ответ

1 голос
/ 27 февраля 2020

Вы можете получить все подстраницы со следующим кодом:

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)

Существует страница "Обсуждение: Elon_Musk / FAQ". Если вы не хотите включать эту страницу и подобные, вам нужно добавить дополнительную строку перед возвратом текста: if 'Archive' in page.title():.

...