gpt4 book ai didi

download - 如何通过 API 从 Wikimedia Commons 下载文件?

转载 作者:行者123 更新时间:2023-12-04 01:57:26 25 4
gpt4 key购买 nike

如何从 Wikimedia Commons 下载大量音频 (.ogg) 文件?是否可以使用 Mediawiki API?

最佳答案

您可以使用 MediaWiki API获取 url 下载链接不仅适用于 .ogg 以及上传到 Wikimedia Commons 上的任何其他图像或媒体文件.从响应中,您可以轻松下载每个文件。这是 C# 中的示例:

private static void GetFiles(List<string> fileNames)
{
//Get HTML request with all file names
var url = "https://commons.wikimedia.org/w/api.php?action=query&format=xml" +
"&prop=imageinfo&iiprop=url&titles=File:" + string.Join("|File:", fileNames);
using (var webResponse = (HttpWebResponse)WebRequest.Create(url).GetResponse())
{
using (var reader = new StreamReader(webResponse.GetResponseStream()))
{
var response = reader.ReadToEnd();

//Get all file url links by parsing the XML response
var links = XElement.Parse(response).Descendants("ii")
.Select(x => x.Attribute("url").Value);
foreach (var link in links)
{
//Save the current file on the disk
using (var client = new WebClient())
{
var fileName = link.Substring(link.LastIndexOf("/") + 1);
client.DownloadFile(link, fileName);
}
}
}
}
}

用法:

//list of files to download
var fileNames = new List<string>() {
"Flag of France.svg", "Black scorpion.jpg", "Stop.png", //image
"Jingle Bells.ogg", "Bach Astier 15.flac", //audio
"Cable Car.webm", "Lion.ogv", //video
"Animalibrí.gif", //animation
};

GetFiles(fileNames);

注: API 有 limit对于文件:

Maximum number of values is 50 (500 for bots).



因此,如果您需要下载更多文件,则必须将列表分成几部分并创建另一个请求。

关于download - 如何通过 API 从 Wikimedia Commons 下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34797915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com