ホームページ  >  記事  >  バックエンド開発  >  URLを使用してPHPでWebコンテンツを取得する方法

URLを使用してPHPでWebコンテンツを取得する方法

小云云
小云云オリジナル
2018-03-27 09:12:584583ブラウズ

PHP で URL に基づいて Web ページのコンテンツを取得するのは非常に便利です。システムの組み込み関数 file_get_contents() を使用して、Web ページのコンテンツを返すことができます。 Baidu ホームページのコンテンツ コードは:

<?php  
$html = file_get_contents(&#39;http://www.baidu.com/&#39;);  
  
echo $html;

これで Baidu が表示されます。ただし、この機能は万能ではありません。サーバーによってはこの機能が無効になったり、この機能がサーバーによって拒否されたりするためです。特定の必要なパラメータをサーバーに渡します。例:

<?php  
$html = file_get_contents(&#39;http://www.163.com/&#39;);  
  
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,&#39;http://www.163.com/&#39;);  
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt ($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36&#39;);  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
$html = curl_exec($ch);  
echo $html;

このコードを使用すると、NetEase のホームページのコンテンツを出力できます。ここで赤でマークされたコードは、ブラウザーのエージェントをシミュレートするため、重要です。そのため、サーバーはブラウザーによってアクセスされていると認識し、正しい HTML を返します。

関連推奨事項:

php は URL に基づいて Web ページのコンテンツを取得します

以上がURLを使用してPHPでWebコンテンツを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。