出现乱码的原因:因为网页内容是GZIP压缩的。
解决方法一:
将$data=file_get_contents($url);
改成$data=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;
}
//调用方法:
$data = curl_get($url,false);