Python使用wikipedia模块触发PageError提示harry plotter页面不存在如何解决
问题原因
你遇到的报错是wikipedia库的默认自动拼写纠错功能导致的:调用wikipedia.page()时默认开启了自动联想修正,输入的Harry Potter被错误修正为不存在的词条harry plotter,因此触发了PageError。
解决方法
- 方法1:调用page方法时关闭自动建议功能,传入
auto_suggest=False参数,修正后的代码如下:
import wikipedia # 关闭自动拼写纠错 page = wikipedia.page("Harry Potter", auto_suggest=False) print(page.summary)
- 方法2:先手动搜索确认词条名称后再加载,避免匹配错误:
import wikipedia # 先搜索获取匹配的词条列表 search_res = wikipedia.search("Harry Potter") # 打印搜索结果确认第一个是目标词条 print(search_res) page = wikipedia.page(search_res[0], auto_suggest=False) print(page.summary)
- 额外说明:如果需要访问中文维基内容,可以在调用前设置语言:
import wikipedia # 设置为中文维基 wikipedia.set_lang("zh") page = wikipedia.page("哈利·波特", auto_suggest=False) print(page.summary)
如果后续遇到DisambiguationError歧义报错,说明该关键词对应多个不同词条,需要传入更精准的词条名,比如Harry Potter (character)(哈利波特角色)、Harry Potter (film series)(哈利波特系列电影)。
内容的提问来源于stack exchange,提问作者LidorTubul
相关产品推荐
相关产品推荐

