微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

维基百科 api 似乎几乎总是把有问题的词弄错

如何解决维基百科 api 似乎几乎总是把有问题的词弄错

我正在使用 wikipedia python 库 (https://pypi.org/project/wikipedia/),并且在大多数情况下,它似乎会自动更正我正在使用的术语或其他东西,因此它们经常是错误的。

例如,“frog”变为“food”,“crown”变为“cross”:

input: wikipedia.page("frog")
output: <WikipediaPage 'Food'>

input: wikipedia.summary("Frog")
output: 'Food is any substance consumed to provide nutritional support for an organism..."

input: wikipedia.page("crown")
output: <WikipediaPage 'Cross'>

当使用 wikipedia.search 时,它似乎提供了一个合适的列表,但我不知道如何在使用 .summary 等时利用它来获取正确的页面

input: print(wikipedia.search("frog"))
output: ['Frog','FROG','The Princess and the Frog','Boiling frog','Frog legs','Frogger','The Scorpion and the Frog','Pepe the Frog','The Frog Prince','Common frog']

解决方法

这是由于 auto_suggest 上的 summary() 默认为 True

根据 docs,您可以将其更改为 False,它将正确返回 frog 的摘要。

wikipedia.summary("Frog",auto_suggest=False)
#'A frog is any member of a diverse and largely carnivorous group of short-bodied,tailless amphibians composing the order Anura (literally without tail in Ancient Greek)

看来,无论出于什么奇怪的原因,API's suggest() 功能都……很奇怪。 最好将 auto_suggest 保持为 False..

wikipedia.suggest("Frog")
#'food'
wikipedia.suggest("Steak")
#'steam'
wikipedia.suggest("Dog")
#'do'
wikipedia.suggest("cat")
#'cats'
wikipedia.suggest("david attenborough")
#None 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。