天気予報や RSS 購読プログラムを実行する場合、多くの場合、非ローカル ファイルをキャプチャする必要があります。一般に、PHP を使用してブラウザ アクセスをシミュレートし、HTTP リクエストを通じて URL アドレスにアクセスし、次に HTML ソース コードまたは XML データにアクセスします。データを直接出力することはできません。多くの場合、コンテンツを抽出して、よりわかりやすい方法で表示するためにフォーマットする必要があります。
以下は、PHP クローリング ページのいくつかの方法と原則を簡単に紹介します。
1. PHP クローリング ページの主なメソッド:
1. file_get_contents() 関数
3. ( )->fread()->fclose() モード
4.curl メソッド
5. fsockopen() 関数ソケット モード
6. プラグインの使用 (http://sourceforge.net/projects/ など) snoopy/)
2. PHP が HTML または XML コードを解析する主な方法:
1. file() 関数
コードをコピーします。 コードは次のとおりです。 ?php $url='http:// t.qq.com'; $lines_string=implode('',$lines_array);
2. file_get_contents() 関数
file_get_contents と fopen を使用するには、allow_url_fopen を有効にする必要があります。方法: php.ini を編集し、allow_url_fopen = On に設定します。allow_url_fopen がオフの場合、fopen も file_get_contents もリモート ファイルを開くことができません。
コードをコピーします
コードは次のとおりです:
$url='http://t.qq.com'
$lines_string=file_get_contents($url); ($lines_string ; t.qq.com'; $handle=fopen($url,"rb"); $lines_string=""; do{ $data=fread($handle,1024);
if( strlen($data )==0) {
ブレーク;
}
$lines_string.=$data;
fclose($handle);
4 .curl メソッド
curl を使用するには、curl を有効にするためのスペースが必要です。方法: Windows で php.ini を変更し、extension=php_curl.dll の前のセミコロンを削除し、ssleay32.dll と libeay32.dll を C:WINDOWSsystem32 にコピーします。Linux では、curl 拡張機能をインストールします。 コードをコピーします
コードは次のとおりです:
$url='http://t.qq.com'
$ch=curl_init(); 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); l_close( $ch);
echo htmlspecialchars($lines_string);
5. fsockopen() 関数のソケット モード
ソケット モードが正しく実行できるかどうかは、どの通信プロトコルが有効になっているかも確認できます。 phpinfo を介してサーバーによって実行されます。たとえば、ローカルの php ソケットで http が有効になっていないため、udp を使用してのみテストできます。
コードをコピーします コードは次のとおりです:
echo "エラー: $errno - $errstr
n"} else { fwrite($fp , "n") echo fread($fp, 26)
fclose($fp)
}
6. プラグイン
スヌーピーのプラグインはインターネット上にたくさんあるので、興味があれば調べてみてください。
http://www.bkjia.com/PHPjc/327608.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/327608.html技術記事天気予報や RSS 購読プログラムを実行する場合、多くの場合、非ローカル ファイルをキャプチャする必要があります。一般に、ブラウザ アクセスをシミュレートするために PHP が使用され、URL アドレスは http リクエストを通じてアクセスされます...
。
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。