我正在开发一个项目,需要此页面的音频数据集 文字 它显示了音频文件,但我无法弄清楚如何立即下载整个数据集。 有人可以帮我吗?
如果我点击每个文件,它会显示该文件的下载选项,但无法找到立即下载整个数据集的方法
您可以使用 api,例如使用此链接:
请参阅此处的文档:
https://commons.wikimedia.org/w/api.php?action=help&modules=query%2Bcategorymembers
然后处理该 json,例如使用以下形式的 php 脚本:
<?php
$all_file_names = [];
$base_url = 'https://commons.wikimedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Lingua_Libre_pronunciation-ory&cmtype=file&cmlimit=500&format=json';
$cmcontinue = '';
$filepages = []
do {
$result = file_get_contents( $base_url . '&cmcontinue=' . $cmcontinue );
$result = json_decode( $result, true );
$filepages = array_merge( $filepages, $result['query']['categorymembers']);
$cmcontinue = !empty( $result['continue'] ) ? $result['continue']['cmcontinue'] : false;
} while ( $cmcontinue );
foreach ( $filepages as $filepage ) {
$url = 'https://commons.wikimedia.org/wiki/Special:Redirect/file/' . urlencode( $filepage['title'] );
echo "Downloading file {$filepage['title']}...\n";
file_put_contents( $filepage['title'], fopen( $url, 'r' ) );
}
注意:这是示例代码,正确的代码会做更多检查,例如检查输出中的所有键是否都存在。