如何通过 API 在维基共享资源中搜索 page/category?

How to search for page/category in Wikimedia Commons by API?

我希望能够查询维基共享资源以便能够找到页面或类别。

天真地以为https://commons.wikimedia.org/w/api.php?action=query&list=search&srsearch=Albert%20Einstein would do, however as you can see it does not return the page I want (Albert Einstein)。

还有什么方法可以将搜索限制在 return 个类别中吗?例如:Category: Albert Einstein

编辑:我想出了我想要的,这将返回类别和页面。

https://commons.wikimedia.org/w/api.php?action=query&generator=search&prop=info&gsrsearch=Albert%20Einstein&gsrnamespace=14|0

默认情况下,您的查询 return 只有 10 个结果,因此在您的请求中添加 srlimit=500,您将看到 Albert Einstein。

https://commons.wikimedia.org/w/api.php?action=query&list=search&srsearch=Albert%20Einstein&srlimit=500

要将搜索限制为仅 return 个类别,您需要使用 srnamespace=14:

https://commons.wikimedia.org/w/api.php?action=query&list=search&srsearch=Albert%20Einstein&srlimit=500&srnamespace=14