如何从维基百科API获取标题和摘要列表?

时间:2016-10-20 22:46:04

标签: wikipedia wikipedia-api

我一直在尝试获取可能结果的列表(在维基百科中执行搜索时会得到相同的结果)以及文章的小摘要,通常是第一段。

到目前为止,我所能获得的是标题列表:

https://en.wikipedia.org/w/api.php?action=query&origin=*&list=search&srprop&srsearch=Albert%20Einstein&prop=extracts

或单页摘要:

https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro=&explaintext=&titles=Albert%20Einstein

是否可以将这些查询以与此

类似的形式组合在一起

https://en.wikipedia.org/w/api.php?action=query&origin=*&list=search&srprop&srsearch=Albert%20Einstein&prop=extracts

或者我是否必须迭代第一个查询的所有结果,然后获取每个查询的摘录?

1 个答案:

答案 0 :(得分:1)

您可以使用generator parameter合并两个或多个查询的结果。因此,我们的想法是generate search结果列表(您的第一个查询),包括每个结果的extracts属性(您的第二个查询):

action=query&generator=search&prop=extracts

然后我们需要为生成器添加一些参数(所有参数都以“g”为前缀)

gsrsearch=Albert%20Einstein&gsrlimit=20

和所有查询属性的参数(在我们的例子中仅用于提取):

exintro=1&explaintext=1&exchars=250&exlimit=20

最终查询将是:

https://en.wikipedia.org/w/api.php?action=query&origin=*&generator=search&prop=extracts&gsrsearch=Albert%20Einstein&gsrlimit=20&exintro=1&explaintext=1&exchars=350&exlimit=20