ホームページ >バックエンド開発 >PHPチュートリアル >PHP ページのキャプチャとコード分析のチュートリアル
PHPページキャプチャとコード解析解説
PHP ページ キャプチャとコード分析の説明 この記事の主な内容について簡単に説明します。
1. PHP ページ キャプチャの主な方法:
1. . file_get_contents() 関数
3. fopen()->fread()->fclose() モード
5. fsockopen() 関数ソケット モード
6.プラグイン (例: http://sourceforge.net/projects/snoopy/)
2. PHP が HTML または XML コードを解析する主な方法:
1.
2. PHP DOMDocument オブジェクト
3. プラグイン (例: PHP Simple HTML DOM Parser)
上記の内容を既に理解している場合は、次の内容を渡すことができます。
PHP クロール ページ
1. file() 関数
次のようにコードをコピーします。
$url='http://www. surfphpseo.com';
$lines_array=implode('',$lines_array);
echo htmlspecialchars($lines_string); >
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); htmlspecialchars ($lines_string);
?>
3. fopen()->fread()->fclose() モード
次のようにコードをコピーします。 :
$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);
echo htmlspecialchars($lines_string);
4.カールを使用する場合 カールをオンにします。方法: 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); ( $ch);
curl_close($ch);
echo htmlspecialchars($lines_string)
5.ソケット モードが正しく実行できるかどうかは、サーバーの設定にも関係します。具体的には、phpinfo を使用して、サーバーでどの通信プロトコルが有効になっているかを確認できます。たとえば、私のローカルの php ソケットでは http しか使用できません。 udp を使用してテストします。
次のようにコードをコピーします。
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$ fp ) {
echo "エラー: $errno - $errstr
n";
} else {
fwrite($fp, "n"); , 26);
fclose($fp);
}
?>
インターネット上にはさらに多くのプラグインがあるはずです、スヌーピーのプラグインはオンラインで見つかりました。興味があれば調べてください。
PHP は XML (html) を解析します
1. 正規表現:
次のようにコードをコピーします:
$url='http ://t.qq.com';
$lines_string=file_get_contents($url);
eregi('