データを直接出力することはできません。多くの場合、コンテンツを抽出して、よりわかりやすい方法で表示するためにフォーマットする必要があります。
この記事の主な内容について簡単に説明します。
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://t.qq.com';コードは次のとおりです: $url='http:// t.qq .com';
$lines_string=file_get_contents($url);
3. ()- >fread()->fclose() モード
php $url='http://t.qq.com'; $handle=fopen($url,"rb");
do{$data=fread($handle,1024);
if(strlen($data)==0){break;}
$lines_string.=$data; }while(true);
echo htmlspecialchars($lines_string);
4. curl を使用するには、curl を開くためのスペースが必要です。方法: Windows で php.ini を変更し、extension=php_curl.dll の前のセミコロンを削除し、ssleay32.dll と libeay32.dll を C:WINDOWSsystem32 にコピーします。Linux では、curl 拡張機能をインストールします。
コードをコピー
コードは次のとおりです:
curl_setopt($ch, CURLOPT_URL, $url); ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $lines_string=curl_exec($ch); echo htmlspecialchars($lines_string); ?>
5. fsockopen() 関数ソケットモード
ソケットモードが正しく実行できるかどうかは、どの通信プロトコルが有効になっているかも確認できます。たとえば、ローカルの php ソケットでは http が有効になっていないため、テストには udp しか使用できません。
コードをコピー
コードは次のとおりです。
$fp = fsockopen("udp: //127.0 .0.1", 13, $errno, $errstr);
? 🎜> 6. プラグイン スヌーピーのプラグインはインターネット上にあるので、興味があれば調べてみてください。
PHP は XML (html) を解析します
1. 正規表現:
コードをコピーします
コードは次のとおりです
$url='http://t.qq.com'
$lines_string=file_get_contents($url); '
コードをコピー コードは次のとおりです:
$url='http :// www.136web.cn';
$html=new DOMDocument();
$html->loadHTMLFile($url); ');
echo $title->item(0)->nodeValue;
3. プラグイン
この記事では、PHP Simple HTML DOM Parser を例として簡単に説明します。simple_html_dom の構文は、jQuery を使用するのと同じくらい簡単に PHP を操作できます。 domを操作するためのjQuery。
コードをコピー コードは次のとおりです:
$url='http:// t.qq .com';
include_once('../simplehtmldom/simple_html_dom.php');
$title=$html->find(' title') ;
echo $title[0]->plaintext;