如何解決php用file_get_contents方法抓取網頁資料出現亂碼

來源:互聯網
上載者:User
我們都經常碰到在抓取資料時碰到亂碼現象,讓人崩潰。今天主要和大家探討如何解決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);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.