ホームページ  >  記事  >  バックエンド開発  >  http://www.google.com.hk/ PHP を使用して HTML を解析するための実装コード

http://www.google.com.hk/ PHP を使用して HTML を解析するための実装コード

WBOY
WBOYオリジナル
2016-07-29 08:46:301477ブラウズ

最近、PHP を使用して HTML を解析する必要があるクローラーを作成したいと思い、sourceforge で CSS セレクターを通じて指定された DOM 要素を返すことができるプロジェクトを見つけました。強力な。
まず、プログラムの先頭に simple_html_dom.php ファイルを導入します

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


include_once('simple_html_dom.php');


PHP シンプルな HTML DOM パーサーが提供します。 DOM オブジェクトを作成する 3 つの方法

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


// 文字列から DOM オブジェクトを作成します
$html = str_get_html('Hello !< /html>');
// URL から DOM オブジェクトを作成します
$html = file_get_html('http://www.google.com/'); HTML ファイルからオブジェクトを取得します
$html = file_get_html('test.htm');

DOM オブジェクトを取得した後、さまざまな操作を実行できます

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

// すべてのアンカーを検索し、要素オブジェクトの配列を返します
$ret = $html->find('a')
// (N) 番目のアンカーを検索し、見つからない場合は要素オブジェクトまたは null を返します (ゼロベース);
$ret = $html->find(' a', 0);
// 最新のアンカーを検索し、見つからない場合は要素オブジェクトまたは null を返します (ゼロベース)
$ret = $html->find('a ', -1);
// ID 属性を持つすべての

を検索します
$ret = $html->find('div[id]');
// どの属性 ID を持つすべての
を検索します=foo
$ret = $html->find ('div[id=foo]');

ここでは、jQuery の DOM 操作と同じように、さまざまな CSS セレクターを使用でき、非常に便利です。さらに、テキストとコメントの内容を取得するための 2 つの特別な属性があります

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

// すべてのテキスト ブロックを検索します
$es = $html->find ('text' );
// すべてのコメント () ブロックを検索
$es = $html->find('comment');

これはまだ jQuery に似ていますが、PHP シンプル HTML DOM パーサーは、DOM 要素にアクセスするためのチェーン操作とさまざまな単純なメソッドもサポートしています

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

// 例
echo $html-> ;find("#div1", 0)->children(1)->children(1)->children(2)->id;
// または
echo $html->getElementById(" div1")->childNodes( 1)->childNodes(1)->childNodes(2)->getAttribute('id');

上記では、http://www.google.com.hk/ のコンテンツを含む、PHP を使用して HTML を解析する http://www.google.com.hk/ の実装コードを紹介しています。お友達が PHP に興味を持っていただければ幸いです。チュートリアル。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。