如何处理维基百科Python API中页面坐标缺失问题
处理维基百科页面无坐标的异常情况
方法1:直接捕获KeyError异常
当页面没有坐标信息时,访问page.coordinates会触发KeyError,直接捕获这个异常就能处理无坐标的场景:
from wikipedia import wikipedia, DisambiguationError try: page = wikipedia.page("West Side Highway") except DisambiguationError as exception: page = wikipedia.page(exception.options[0], auto_suggest=False) try: coords = page.coordinates print(f"坐标:{coords}") except KeyError: print("no coordinates")
方法2:提前检查原始数据中的字段
通过页面的raw_data属性直接读取API返回的原始数据,逐层确认coordinates字段是否存在,从根源避免触发异常:
from wikipedia import wikipedia, DisambiguationError try: page = wikipedia.page("West Side Highway") except DisambiguationError as exception: page = wikipedia.page(exception.options[0], auto_suggest=False) # 逐层遍历原始数据,确认coordinates字段是否存在 page_data = page.raw_data.get('query', {}).get('pages', {}).get(page.pageid, {}) if 'coordinates' in page_data: coords = page.coordinates print(f"坐标:{coords}") else: print("no coordinates")
内容的提问来源于stack exchange,提问作者user22638408
相关产品推荐
相关产品推荐

