Python调用Wikipedia API获取Corona相关条目列表并消除报错警告
解决Wikipedia库中DisambiguationError并获取条目名称列表
嘿,我刚好碰到过类似的问题!当你用wikipedia.summary("Corona")时出现DisambiguationError,本质是因为"Corona"这个词在维基百科上对应多个条目,库没法确定你要哪一个,所以抛出了这个错误——但巧的是,这个错误对象本身就带着你要的所有有效条目列表!
下面是具体的实现方法,一步一步来:
1. 先处理烦人的警告
那个GuessedAtParserWarning是库在解析页面时的小提示,不影响功能但看着闹心,我们可以用Python的warnings模块把它关掉:
import warnings import wikipedia # 忽略那个解析警告 warnings.filterwarnings("ignore", category=UserWarning, module="wikipedia")
2. 捕获异常提取条目列表
当触发歧义错误时,我们直接捕获wikipedia.exceptions.DisambiguationError,它的options属性就是所有相关的条目名称:
try: # 尝试调用summary触发歧义错误 wikipedia.summary("Corona") except wikipedia.exceptions.DisambiguationError as e: # 提取条目列表 corona_related_entries = e.options # 打印结果(或者按需处理) print("与Corona相关的有效条目:") for entry in corona_related_entries: print(f"- {entry}")
运行这段代码,你就能得到干净的条目名称列表了!
额外小技巧
如果你不想通过触发summary来获取歧义条目,也可以用wikipedia.search("Corona"),不过这个方法返回的是宽泛的搜索结果,可能包含一些不相关的内容;而通过DisambiguationError得到的options是维基百科歧义页里明确列出的条目,精准度更高,更符合你的需求。
内容的提问来源于stack exchange,提问作者Virej Dasani
相关产品推荐
相关产品推荐

