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

标签 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

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

最佳答案

您可以使用 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

关于wikipedia - 如何从 Wikipedia API 获取标题和摘要列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40165705/

相关文章:

java - 如何抓取整个维基百科?

json - 维基百科 API - 获取随机页面

wikipedia-api - Mediawiki API Sandbox - 获取所有翻译选项

jquery - 维基百科 API 和响应语言

python - 并发 Python 维基百科包请求

python - 如何按类别从维基百科中抓取数据?

mysql - 将大量维基百科表抓取到 MySQL 数据库的最佳方法

php - 如何从维基百科获取特定内容?

http - 使用维基百科 API 继续参数

wikipedia - 如何知道来自 API 的维基百科内容是否包含有用的文章或不明确的文章