ホームページ >バックエンド開発 >PHPチュートリアル >URLを使用してPHPでWebコンテンツを取得する方法
PHP で URL に基づいて Web ページのコンテンツを取得するのは非常に便利です。システムの組み込み関数 file_get_contents() を使用して、Web ページのコンテンツを返すことができます。 Baidu ホームページのコンテンツ コードは:
<?php $html = file_get_contents('http://www.baidu.com/'); echo $html;
これで Baidu が表示されます。ただし、この機能は万能ではありません。サーバーによってはこの機能が無効になったり、この機能がサーバーによって拒否されたりするためです。特定の必要なパラメータをサーバーに渡します。例:
<?php $html = file_get_contents('http://www.163.com/'); echo $html;
このコードは NetEase のホームページの完全なコードを取得できないため、次のページを返します。この時点では、他のメソッドを考える必要があります。
ここでは、Webページを簡単かつ効果的にキャプチャできるphpのcURLライブラリを紹介します。スクリプトを実行して、クロールした Web ページを分析するだけで、必要なデータをプログラムで取得できます。リンクから部分データを取得する場合でも、XML ファイルを取得してデータベースにインポートする場合でも、単に Web ページのコンテンツを取得する場合でも、cURL は強力な PHP ライブラリです。これを使用するには、まず php 設定ファイルで有効にする必要があります。これを開くときに、Windows でいくつかの DLL が必要になる場合があります。ここでの紹介は信じられませんが、phpinfo() を呼び出すことができます。確認して有効になっている場合は「読み込まれた拡張機能」に表示されます。
以下は、curl を使用して Web ページのコードを取得する簡単な例です:
<?php $ch = curl_init(); $timeout = 10; // set to zero for no timeout curl_setopt ($ch, CURLOPT_URL,'http://www.163.com/'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36'); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $html = curl_exec($ch); echo $html;
このコードを使用すると、NetEase のホームページのコンテンツを出力できます。ここで赤でマークされたコードは、ブラウザーのエージェントをシミュレートするため、重要です。そのため、サーバーはブラウザーによってアクセスされていると認識し、正しい HTML を返します。
関連推奨事項:
php は URL に基づいて Web ページのコンテンツを取得します
以上がURLを使用してPHPでWebコンテンツを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。