如何从 Wikipedia API 中获取标题和摘要列表?

How to get a list of titles and summaries from the 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

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

您可以通过对每个结果(您的第二个查询)使用 generator parameter. So the idea is to generate a list of search results (your first query) including 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