我试图提取维基百科文章中提供的视频或音频文件的数量,我搜索了API,但没有找到它。
我注意到当使用API提取特定页面的图像时,带有.ogg扩展名的音频文件会出现在包含图像的列表中。
我不知道这个案例是否可以推广,我是否可以使用它来统计视频和音频文件?有没有人有另一种方法可以做到这一点?
答案 0 :(得分:1)
基本上所有文件类型都由API平等对待,但您可以获取每个文件的 mediatype ,并使用它来过滤掉视频和音频文件。
要获取文件的媒体类型,您需要为每个文件使用prop=imageinfo
(此版本will be changed更准确prop=fileinfo
)。由于prop=images
可用作生成器,您可以在一个API调用中获取文件列表及其媒体类型,例如 this :
https://ar.wikipedia.org/w/api.php?action=query&generator=images&titles=%D8%AD%D9%88%D8%AB%D9%8A%D9%88%D9%86&redirects=&prop=imageinfo&iiprop=mediatype&continue=&format=xml
此处images
用作生成器,返回文件列表,并且文件列表依次被送到imageinfo
调用。
对于每个文件,您将得到以下内容:
"2014232": {
"pageid": 2014232,
"ns": 6,
"title": "\u0645\u0644\u0641:06-Salame-Al Aadm 001.ogg",
"imagerepository": "local",
"imageinfo": [
{
"mediatype": "AUDIO"
}
]
}
mediatype
可以是以下任何一种(从manual复制并粘贴):
UNKNOWN // unknown format
BITMAP // some bitmap image or image source (like psd, etc). Can't scale up.
DRAWING // some vector drawing (SVG, WMF, PS, ...) or image source (oo-draw, etc). Can scale up.
AUDIO // simple audio file (ogg, mp3, wav, midi, whatever)
VIDEO // simple video file (ogg, mpg, etc; no not include formats here that may contain executable sections or scripts!)
MULTIMEDIA // Scriptable Multimedia (flash, advanced video container formats, etc)
OFFICE // Office Documents, Spreadsheets (office formats possibly containing apples, scripts, etc)
TEXT // Plain text (possibly containing program code or scripts)
EXECUTABLE // binary executable
ARCHIVE // archive file (zip, tar, etc)
mimetype< =>的默认映射mediatype可用here,但可以覆盖单个wiki。