需要重定向时从维基百科获取句子时出现问题

问题描述 投票:0回答:1

可以用一点力推。我正在尝试使用“维基百科”模块来提取各种主题的信息,以便与我的自定义语音助手一起使用。当维基百科有一个我认为的重定向时,我遇到了问题。查看示例:

import wikipedia
result = wikipedia.summary("Thomas Cruise", sentences = 2)
print(result)

输出:

Thomas Cruise Mapother IV (born July 3, 1962) is an American actor. Regarded as a Hollywood icon, he has received various accolades, including an Honorary Palme d'Or and three Golden Globe Awards, in addition to nominations for four Academy Awards.

但是当我改成更流行的名字“汤姆·克鲁斯”时,我得到了这个:

import wikipedia
result = wikipedia.summary("Tom Cruise", sentences = 2)
print(result)

输出:

Homelab:/config/tmp# python3 wiki.py
Traceback (most recent call last):
  File "/config/tmp/wiki.py", line 2, in <module>
    result = wikipedia.summary("Tom Cruise", sentences = 2)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/wikipedia/util.py", line 28, in __call__
    ret = self._cache[key] = self.fn(*args, **kwargs)
                             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/wikipedia/wikipedia.py", line 231, in summary
    page_info = page(title, auto_suggest=auto_suggest, redirect=redirect)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/wikipedia/wikipedia.py", line 276, in page
    return WikipediaPage(title, redirect=redirect, preload=preload)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/wikipedia/wikipedia.py", line 299, in __init__
    self.__load(redirect=redirect, preload=preload)
  File "/usr/local/lib/python3.12/site-packages/wikipedia/wikipedia.py", line 345, in __load
    raise PageError(self.title)
wikipedia.exceptions.PageError: Page id "tom raise" does not match any pages. Try another id!

不幸的是,我的 Python 技能不太好,我无法真正弄清楚为什么这不起作用。我知道如果我在维基百科主页面上搜索“汤姆·克鲁斯”,它会重定向到正确的页面,该页面甚至被称为“https://en.wikipedia.org/wiki/Tom_Cruise”

非常感谢任何帮助。

python wikipedia wikipedia-api
1个回答
0
投票

感谢@fjsevilla 的修复:

import wikipedia
result = wikipedia.summary("Tom Cruise", sentences = 2, auto_suggest=False)
print(result)

auto_suggest=需要 False

© www.soinside.com 2019 - 2024. All rights reserved.