批量下载 Flash 的外部资源文件(如QQ农场)
这段时间在研究“QQ农场”和“美图秀秀”的Flash版工作原理,需要下载一些资源文件,若手动下载那上千个文件,可想而知是多么庞大的工作量。为了偷懒,写了一个小程序(CMD+PHP)实现批量下载。
下面分别给出CMD代码和PHP代码,至于所需的php.exe和wget.exe文件,请自行百度搜索下载。
parse.cmd
@echo off
rem xml-url-downloader
rem create by rehiy<[email protected]>
cd /d %~dp0
echo. && echo 正在清理DAT目录...
if exist .\dat\ rd /s /q .\dat\
echo. && echo 正在分析XML文件...
.\bin\php.exe -n -q -f parse.php
echo. && echo 开始下载URL文件...
call .\dat\wget.bat
echo. && echo 操作完毕,按任意键退出...
pause >nul
parse.php
<?php
//xml-url-downloader
//create by rehiy<[email protected]>
get_xml_url('xml/', 'dat/');
//获取XML内的URL,并生成BAT脚本
function get_xml_url($dir, $out) {
$xml = glob($dir.'*.xml');
$bat = "echo. && .\bin\wget.exe -xnv -P {$out}";
is_dir($out) || mkdir($out, 0777, true);
if(!empty($xml) && is_array($xml)) {
foreach($xml as $xm) {
preg_match_all('/url="(.*)"/U', file_get_contents($xm), $match);
if(!empty($match[1])) {
foreach($match[1] as $url) {
$txt .= "{$bat} {$url} \r\n";
}
}
}
file_put_contents($out.'wget.bat', $txt);
}
}