この記事は、PHP でページをクロールするいくつかの方法の詳細な分析と紹介です。必要な友人はそれを参照してください
天気予報 や RSS 購読プログラムを実行する場合、多くの場合、ローカル以外のファイルをクロールする必要があります。通常、PHP はブラウザ アクセスをシミュレートするために使用され、HTTP リクエストを通じて URL アドレスにアクセスし、HTML ソース コードや XML データを直接抽出する必要があることがよくあります。次に、それを次のようにフォーマットします。よりフレンドリーなアプローチが現れます。
以下は、PHP クローリングページのいくつかの方法と原則を簡単に紹介します:
1. PHP クローリングページの主なメソッド:
1. file() 関数
2. file_get_contents() 関数 3. fopen()->fread()->fclose() モード
4.curl メソッド
5. fsockopen() 関数ソケット モード
6. プラグインを使用します (http://sourceforge.net/ など)。 2. PHP が HTML または XML コードを解析する主な方法:
1. file() 関数
コードは次のとおりです: <?php
$url='http://t.qq.com';
$lines_array=file($url);
$lines_string=implode('',$lines_array);
echo htmlspecialchars($lines_string);
2.関数
file_get_contents と fopen を使用して、必要なスペースallow_url_fopen を開きます。方法: php.ini を編集し、allow_url_fopen = On に設定します。allow_url_fopen がオフの場合、fopen も file_get_contents も
リモート ファイル を開くことができません。
コードは次のとおりです:<?php
$url='http://t.qq.com';
$lines_string=file_get_contents($url);
echo htmlspecialchars($lines_string);
3. fopen()->fread()->fclose() モード
コードは次のとおりです:
<?php $url='http://t.qq.com'; $handle=fopen($url,"rb"); $lines_string=""; do{ $data=fread($handle,1024); if(strlen($data)==0) { break; } $lines_string.=$data; }while(true); fclose($handle); echo htmlspecialchars($lines_string);
4. Curl メソッド
を使用します。カールしてカールを開きます。方法: Windows で php.ini を変更し、extension=php_curl.dll の前のセミコロンを削除し、ssleay32.dll と libeay32.dll を C:WINDOWSsystem32 にコピーします。Linux では、curl 拡張機能をインストールします。
コードは次のとおりです: <?php
$url='http://t.qq.com';
$ch=curl_init();
$timeout=5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$lines_string=curl_exec($ch);
curl_close($ch);
echo htmlspecialchars($lines_string);
5. fsockopen() 関数のソケット モード
ソケット モードが正しく実行できるかどうかは、サーバーで有効になっている通信プロトコルを確認することもできます。
phpinfo を通じて、たとえば、ローカルの php ソケットで http が有効になっていないため、udp を使用してのみテストできます。
コードは次のとおりです:<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n"
} else {
fwrite($fp, "\n")
echo fread($fp, 26)
fclose($fp)
}
6. プラグイン
スヌーピーのプラグインはオンラインで見つかります。
以上がPHPクローリングページのいくつかの方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。