昨日、簡単な収集機能を実行する際に、file_get_contents関数を直接使用しましたが、いくつかのWebサイトは問題なく収集でき、いくつかのネットワークチップが収集されました。後で、サーバーの電源が入っていたため、コード化けが発生したと分析しました。 gzip圧縮機能。
私が集めたページは以下のgzipです
理由がわかったので、最初に Baidu で検索したところ、代わりにcurl操作を使用できることがわかりました。
カールソリューション
コードは次のとおりです | コードをコピー |
関数curl_get($url, $gzip=false){ |
gzip エンコード形式を使用する
file_get_contents ソリューション:
コードは次のとおりです | コードをコピー |
file_get_contents("compress.zlib://".$url); |
上記のコードは、ページが gzip 圧縮されているかどうかに関係なく機能します。
注: CURL をオンにする必要があります。
カールのインストール:
XP でのインストール
: php.ini ファイルの設定を変更し、
を見つけますコードは次のとおりです | コードをコピー |
php_curl.dll |
//以下のコメントをキャンセル extension=php_curl.dll
Linux でのインストール:
コードは次のとおりです | コードをコピー |
# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz # tar zxvfカール-7.17.1.tar.gz //解凍 #cdカール-7.17.1 # ./configure –prefix=/usr/local/curl #作る #メイクインストール |
phpをインストールする前にインストールする方法です