前面我们讲解了两种php采集的方法:PHP采集指定的内容、php的curl库进行采集。
可很多时候会出现乱码的情况。查找资料后发现PHP获取远程页面内容,如果被抓取的数据是gzip编码过的,返回的字符串就是编码后的乱码。
下面对两种采集方法分别做介绍:
file_get_contents解决乱码方法
file_get_contents("compress.zlib://".$url);
curl解决乱码方法
function curl_get($url, $gzip=false){ $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里 $content = curl_exec($curl); curl_close($curl); return $content; }
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/540.html