我可以获得由正则表达式过滤的维基媒体文件列表吗?

Can I get a list of Wikimedia files filtered by a regex?

我正在寻找来自维基媒体的 Kawahara Keiga 的所有图像。

文件名通常包含字符串“RMNH.ART”和“Kawahara Keiga”——参见:

https://en.wikipedia.org/wiki/File:Naturalis_Biodiversity_Center_-_RMNH.ART.5_-_Carcinoplax_longimana_(De_Haan,_1833)_-_Kawahara_Keiga.jpg
https://en.wikipedia.org/wiki/File:Naturalis_Biodiversity_Center_-_RMNH.ART.537_-_Halieutaea_stellata_-_Kawahara_Keiga_-_Siebold_Collection.jpg
https://en.wikipedia.org/wiki/File:Naturalis_Biodiversity_Center_-_RMNH.ART.256_-_Hemitrygon_akajei_(M%C3%BCller_%26_Henle,_1841)_-_Kawahara_Keiga_-_Siebold_Collection.jpg

是否可以查询维基媒体 API 并获取按“包含”或正则表达式或类似方式过滤的文件列表?

回答您的具体问题,您可以使用: https://commons.wikimedia.org/w/api.php?action=query&list=search&srsearch=RMNH.ART&srnamespace=6&srlimit=500&format=json

或者,由于图像已经分类,您可以改用它: https://commons.wikimedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Kawahara_Collection_at_Naturalis_Biodiversity_Center&cmlimit=500&format=json

这些都是 return 前 500 个文件,要获取所有文件,您需要添加 &sroffset=500 或 &cmcontinue。不可否认,我不太确定第二个是如何工作的。

这两个的文档位于 https://www.mediawiki.org/wiki/API:Search and https://www.mediawiki.org/wiki/API:Categorymembers