如何获得Python中的维基百科讨论页内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得Python中的维基百科讨论页内容相关的知识,希望对你有一定的参考价值。

我目前使用下面的代码来获取维基百科的页面内容。

import pywikibot as pw

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

然而,这似乎是上面的代码不reaturn在维基百科的内容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

我很高兴在需要时提供更多的细节。 :)

答案

你在讨论页标题错字。 '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'>

以上是关于如何获得Python中的维基百科讨论页内容的主要内容,如果未能解决你的问题,请参考以下文章

如何从维基百科中获取所有标题的JSON [关闭]

MediaWiki怎么标记需要翻译的内容?

python 解析维基百科字符串中的文章链接

如何从维基百科页面中提取数据

wikipedia 维基百科 语料 获取 与 提取 处理 by python3.5

python 维基百科部分循环