我试图从维基百科中利用其API检索作者Agatha Christie的页面。维基百科似乎很好地完成了这项工作:
来自https://en.wikipedia.org/wiki/Main_Page 我搜索阿加莎克里斯蒂,我找到了她。
通过API,这似乎是不可能的。我可以尝试从API搜索SandBox构建我的查询:
我找到一个乐队,阿加莎克里斯蒂纪念馆,一些书,没有别的关于她。我无法理解原因。与阿尔伯特爱因斯坦一起,查询有效。
当然搜索API会返回所有匹配的页面,然后我的任务是优化搜索,但为什么在这种情况下没有有用的结果?
答案 0 :(得分:1)
你只是误读了结果。第一个结果是正确的结果。 https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&list=search&format=json&srsearch=Agatha%20Christie&srprop=timestamp:
{
"ns": 0,
"title": "Agatha Christie",
"timestamp": "2015-07-06T19:37:15Z"
},
访问该标题:https://en.wikipedia.org/wiki/Agatha_Christie。这是正确的页面。该片段错误地提取了顶部的消歧信息,«对于乐队,请参阅Agatha Christie(乐队)。对于视频游戏系列,请参阅Agatha Christie(视频游戏系列)»,但它只是一个片段。
有关各种搜索API的概述,包括允许模糊搜索的API(通过CirrusSearch),请参阅https://www.mediawiki.org/wiki/API:Search_and_discovery。