从维基百科文章中提取视频或音频文件的数量

时间:2014-12-08 21:00:37

标签: mediawiki mediawiki-api

我试图提取维基百科文章中提供的视频或音频文件的数量,我搜索了API,但没有找到它。

我注意到当使用API​​提取特定页面的图像时,带有.ogg扩展名的音频文件会出现在包含图像的列表中。

http://ar.wikipedia.org/w/api.php?format=xml&action=parse&page=%D8%AD%D9%88%D8%AB%D9%8A%D9%88%D9%86&prop=images&redirects=

我不知道这个案例是否可以推广,我是否可以使用它来统计视频和音频文件?有没有人有另一种方法可以做到这一点?

1 个答案:

答案 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。