ホームページ  >  記事  >  バックエンド開発  >  PHP ページのキャプチャとコード分析の推奨_PHP チュートリアル

PHP ページのキャプチャとコード分析の推奨_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:35:21736ブラウズ

データを直接出力することはできません。多くの場合、コンテンツを抽出して、よりわかりやすい方法で表示するためにフォーマットする必要があります。
この記事の主な内容について簡単に説明します:

1. PHP でページをクロールする主な方法:

1. file() 関数
2. file_get_contents() 関数
3. () ->fclose() モード
4.curl メソッド
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' ;
$lines_array=file($url);
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 ; ='http://t.qq.com';
$handle=fopen($url,"rb");
$lines_string="";
do{
$data=fread($handle) ,1024);
if(strlen($data)==0){break;}
$lines_string.=$data;
fclose($handle);
echo htmlspecialchars($lines_string);
?>



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. ソケットモードが正しく実行できるかどうかは、サーバーの設定にも関係します。サーバーは phpinfo プロトコルを通じて有効になっています。たとえば、ローカルの php ソケットでは http が有効になっていないため、テストには udp しか使用できません。


コードをコピーします

コードは次のとおりです:
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr); $fp) { echo "エラー: $errstr
n";
fwrite($fp, "n");
fclose( $fp) ;
}
?>



6. プラグインはインターネット上にたくさんあるはずです。興味があれば、調べてみてください。

PHP は XML (html) を解析します

1. 正規表現:



コードをコピーします

コードは次のとおりです:
$url='http://t.qq. com' ; $lines_string=file_get_contents($url);
eregi('(.*)',$lines_string,$title);
? >



2. PHP DOMDocument() オブジェクト
リモート HTML または XML に構文エラーがある場合、PHP は dom を解析するときにエラーを報告します。




コードをコピーします
コードは次のとおりです:


$url='http://www.136web.cn';
$html=new DOMDocument(); html->loadHTMLFile($url);
$title=$html->getElementsByTagName('title');

;

3. プラグイン
この記事では、PHP Simple HTML DOM Parser を例として簡単に説明します。simple_html_dom の構文は、jQuery を使用して dom を操作するのと同じくらい簡単です。
コードをコピーします コードは次のとおりです:

$url='http://t.qq.com'
include_once('../simplehtmldom/simple_html_dom.php ');
$html=file_get_html($url);
$title=$html->find('title');


;もちろん中国人は豊かです 創造力では外国人がテクノロジーでリードする傾向がありますが、中国人はそれを使うのが上手で、リモートクローリングや本来データ用であるPHPの分析など、外国人が思いつかないような機能を作ることもよくあります快適さを提供するために。しかし、中国人はこれを非常に好むため、価値のあるコンテンツを自分たちで作成するのではなく、他の人の Web サイトのコンテンツをクロールして自分のものにすることに依存しているコレクション サイトが多数あります。 Baidu にキーワード「php small」を入力すると、候補リストの最初に「php thief Program」が表示されます。次に同じキーワードを Google に入力しても、何も言えず笑ってしまいます。

http://www.bkjia.com/PHPjc/322211.html

tru​​ehttp://www.bkjia.com/PHPjc/322211.html技術記事データを直接出力することはできません。多くの場合、コンテンツを抽出して、よりわかりやすい方法で表示するためにフォーマットする必要があります。 この記事の主な内容について簡単に説明します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。