我当前正在使用以下代码来获取Wikipedia的页面内容。
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
如果需要,我很乐意提供更多详细信息。 :)
答案 0 :(得分:2)
对话页面标题中有一个错字。 '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'>