1

比如说一个人写一个查询 - “d dark knight rses”。我想找到最近的维基百科页面 - http://en.wikipedia.org/wiki/The_Dark_Knight_Rises

有什么可能的方法来做到这一点?

我能想到的一种简单方法是在 google 上搜索给定的查询,并附加术语 wikipedia。然后在结果中查找第一个维基百科页面。如果即使在前 5 个页面中也没有维基百科页面,请返回抱歉。

但是是否有任何其他方便的方法或 API 调用可以避免使用 Google。

编辑:最近 - 例如“d dark night”可能会导致“The Dark Night”或“The Dark Knight”。这两个都是有效的答案。尽管前者更接近查询,但我想后者是一个更好的答案,因为这可能是用户查询的结果。

4

1 回答 1

3

也许你可以使用官方的Wikipedia API ,这里是一个带查询的opensearch调用示例:dark night

$ curl "https://en.wikipedia.org/w/api.php?action=opensearch&search=dark%20night"

这将返回:

[
    "dark night", 
    [
        "Dark Night", 
        "Dark Night of the Soul", 
        "Dark Night of the Soul (album)", 
        "Dark Night of the Scarecrow", 
        "Dark Night (song)", 
        "Dark Night (film)", 
        "Dark night rises", 
        "Dark night (roller coaster)", 
        "Dark night sky paradox"
    ]
]

更新:另一种方法是下载维基百科数据转储并在本地进行一些搜索。

于 2012-08-18T20:21:05.073 回答