我們都常常碰到在抓取資料時碰到亂碼現象,讓人崩潰。今天主要跟大家探討如何解決php用file_get_contents方法抓取網頁資料出現亂碼的問題,需要的朋友可以參考下,希望能幫助到大家。下面跟著小編一起來看看吧。
方法一:
將$data=file_get_contents ($url); 改成$data=file_get_contents("compress.zlib://".$url);即可。
原因是網頁內容是GZIP壓縮的。
方法二:
用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);
相關推薦:
#用file_get_contents抓取網頁亂碼的2種解決方式
php file_get_contents取得網頁內容gzip編碼所導致的亂碼
以上是如何解決php用file_get_contents方法抓取網頁資料出現亂碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!