提问人:Mike 提问时间:10/21/2023 最后编辑:Peter MortensenMike 更新时间:10/23/2023 访问量:49
如何处理维基百科 Python API 中页面的缺失坐标
How to handle missing coordinates for a page in the Wikipedia Python API
问:
我尝试显示页面坐标。但是,有些页面没有坐标,然后 API 会表现得很有趣。
为:
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)
当我尝试验证是否有一些坐标时:
if page.coordinates is None:
print("no coordinates")
我不断从库中得到:KeyError
wikipedia
if page.coordinates is None:
^^^^^^^^^^^^^^^^
File "/Users/mav/.pyenv/versions/stories_env/lib/python3.11/site-packages/wikipedia/wikipedia.py", line 570, in coordinates
coordinates = request['query']['pages'][self.pageid]['coordinates']
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'coordinates'
我怎样才能发现页面的这种缺乏来处理它?coordinates
答:
1赞
jluims
10/21/2023
#1
错误似乎来自库本身。 根据这个 GitHub 问题,该库不会采取任何措施来防止 KeyError。您可以使用 try/except 来防止错误。例如:
from wikipedia import wikipedia, DisambiguationError
if __name__ == "__main__":
try:
page = wikipedia.page("West Side Highway")
print(page.coordinates)
except KeyError:
print("No coordinates")
except DisambiguationError as exception:
page = wikipedia.page(exception.options[0], auto_suggest=False)
评论
the_page
try:
/coordinates = page.coordinates
/except KeyError
/print(...)
?你已经有一个 - 块,不是吗?try
catch