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

小云云
リリース: 2023-03-22 11:16:01
オリジナル
4595 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!