Как получить контент в Talk на страницах википедии в python - PullRequest
0 голосов
/ 05 февраля 2019

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

import pywikibot as pw

page = pw.Page(pw.Site('en'), 'Forensic science')
page.text

Однако, похоже, что приведенный выше код не возвращает содержимое в Talk pages википедии.например,

import pywikibot as pw
page = pw.Page(pw.Site('en'), 'Talk:Forensics science')
page.text

Точнее, я хочу получить содержимое этой страницы: https://en.wikipedia.org/w/index.php?title=Talk:Forensic_science&action=edit

Я с радостью предоставлю более подробную информацию, если это необходимо.:)

1 Ответ

0 голосов
/ 05 февраля 2019

У вас есть опечатка в заголовке страницы обсуждения.'Talk:Forensics science' должно было быть 'Talk:Forensic science' (без s в конце Forensic).Кроме этого, он должен работать так, как вы ожидаете.

Если вы хотите получить явную ошибку, когда страница не существует, попробуйте метод Page.get:

import pywikibot as pw
page = pw.Page(pw.Site('en', 'wikipedia'), 'Talk:Forensics science')
text = page.get()

, это вызовет:

[...]
"...site.py", line 4166, in loadrevisions
    raise NoPage(page)
pywikibot.exceptions.NoPage: Page [[wikipedia:en:Talk:Forensics science]] doesn't exist.
CRITICAL: Exiting due to uncaught exception <class 'pywikibot.exceptions.NoPage'>
...