wikipedia-api - 我可以得到一个由正则表达式过滤的维基媒体文件列表吗?
问题描述
我正在寻找来自维基媒体的 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
是否可以查询 Wikimedia 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
它们都将返回前 500 个文件,要获取所有文件,您需要添加 &sroffset=500 或 &cmcontinue。诚然,我不太确定第二个是如何工作的。
这两个文档都位于https://www.mediawiki.org/wiki/API:Search和https://www.mediawiki.org/wiki/API:Categorymembers
推荐阅读
- keras - 有没有办法用 Keras TensorFlow 选择性地连接层?
- python - Python Plotly 在同一个 scatter_geo 上表达两个气泡标记?
- docker - Docker 容器没有正确设置 GOPATH
- classpath - Helidon 覆盖 libs 文件夹
- oracle - Oracle 云和 Docker
- c# - 如何使用 MVC Razor 在 C# MVVC 中将模型传递给视图
- django - 传递给我的 Django 视图的请求中的“购物车”cookie 是空的,尽管它显示在浏览器存储中
- php - 如何使用 TCPDF 在同一个 PDF 中正确输出多个页面?
- numpy - 使用 numpy 更新更改 numba guvectorize 输出的类类型
- typescript - 有没有办法让 npm 发布到不同于它从 package.json 推断的组织?