//抓取中国银行汇率表数据 //Author : hsg4ok@yahoo.com.cn //V 1.0 // string file_source 要抓取的内容页 // string file_target 本机生成的文件 function getRate($file_source,$file_target) { if($file_source == ''){ return false; } $whandle = fopen($file_target,'w+'); if(!$whandle){ echo 'Error,The file can not open.'; //return false; exit; } $times = date('Y-m-d'); $content = file_get_contents($file_source); if($content){ //用正则对抓取的内容进行处理 $begin = strpos($content,'<table width="560" id="documentContainer"'); $end = strpos($content,'<table width="560" border="0" cellpadding="5" cellspacing="0" align="center">') - 28; $content = trim(substr($content,$begin,($end - $begin))); $content = preg_replace("/<([a-z]+)/s[^>]+>/i","<$1>",$content); $content = preg_replace("/<td>(/d+)-(/d+)-(/d+)( )(/s+)(/d+):(/d+):(/d+)<//td>/i",'',$content); //删除日期行 $content = preg_replace("/>/s+</","><",$content); //清除所有空白 $content = str_replace("<table>","<table id='xRate'><caption>Date: ".date('Y-m-d',time())."</caption><tr><th>Currency Name</th><th>Buying Rate</th><th>Cash Buying Rate</th><th>Selling Rate</th><th>Middle Rate</th></tr>",$content); //添加表标注 } //写到目标文件 if(fwrite($whandle,$content) === false){ echo "Error,The file can not write."; exit; } //关闭文件 fclose($whandle); echo "The File created!"; } //调用 $url = 'http://www.boc.cn/sourcedb/whpj/enindex.html'; //目标地址 $targetPath = 'D://uploadfile//'.date('Ymd',time()).'.htm'; getRate($url,$targetPath);