欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

使用php simple html dom parser解析html标签

程序员文章站 2022-06-09 22:08:27
...
使用php simple html dom parser解析html标签

用了一下

PHP Simple HTML DOM Parser

解析HTML页面,感觉还不错,它能创建一个DOM tree方便你解析html里面的内容。用来抓东西挺好的。

附带一个例子,你也到sourceforge下载压缩包看里面的例子:

Scraping data with PHP Simple HTML DOM Parser

PHP Simple HTML DOM Parser , written in PHP5+, allows you to manipulate HTML in a very easy way. Supporting invalid HTML, this parser is better then other PHP scripts using complicated regexes to extract information from web pages.

Before getting the necessary info, a DOM should be created from either URL or file. The following script extracts links & images from a website:

view plain copy to clipboard print ?

Php代码 // Create DOM from URL or file

$html = file_get_html('http://www.microsoft.com/');

// Extract links

foreach($html->find('a') as $element)

echo $element->href . '
';

// Extract images

foreach($html->find('img') as $element)

echo $element->src . '
';

[php]

// Create DOM from URL or file

$html = file_get_html('http://www.microsoft.com/');

// Extract links

foreach($html->find('a') as $element)

echo $element->href . '
';

// Extract images

foreach($html->find('img') as $element)

echo $element->src . '
';

// Create DOM from URL or file

$html = file_get_html('http://www.microsoft.com/');

// Extract links

foreach($html->find('a') as $element)

echo $element->href . '
';

// Extract images

foreach($html->find('img') as $element)

echo $element->src . '
';

The parser can also be used to modify HTML elements:

view plain copy to clipboard print ?

Php代码 // Create DOM from string

$html = str_get_html('

Simple
Parser
');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=simple]', 0)->innertext = 'Foo';

// Output:

Foo
Parser

echo $html;

[php]

// Create DOM from string

$html = str_get_html('

Simple
Parser
');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=simple]', 0)->innertext = 'Foo';

// Output:

Foo
Parser

echo $html;

// Create DOM from string

$html = str_get_html('

Simple
Parser
');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=simple]', 0)->innertext = 'Foo';

// Output:

Foo
Parser

echo $html;

Do you wish to retrieve content without any tags?

view plain copy to clipboard print ?

Php代码 echo file_get_html('http://www.yahoo.com/')->plaintext;

[php]

echo file_get_html('http://www.yahoo.com/')->plaintext;

echo file_get_html('http://www.yahoo.com/')->plaintext;In the package files of this parser ([url]http://simplehtmldom.sourceforge.net/[/url]) you can find some scraping examples from digg, imdb, slashdot. Let’s create one that extracts the first 10 results (titles only) for the keyword “php” from Google:

view plain copy to clipboard print ?

Php代码 $url = 'http://www.google.com/search?hl=en&q=php&btnG=Search';

// Create DOM from URL

$html = file_get_html($url);

// Match all 'A' tags that have the class attribute equal with 'l'

foreach($html->find('a[class=l]') as $key => $info)

{

echo ($key + 1).'. '.$info->plaintext."
\n";

}

[php]

$url = 'http://www.google.com/search?hl=en&q=php&btnG=Search';

// Create DOM from URL

$html = file_get_html($url);

// Match all 'A' tags that have the class attribute equal with 'l'

foreach($html->find('a[class=l]') as $key => $info)

{

echo ($key + 1).'. '.$info->plaintext."
\n";

}

$url = 'http://www.google.com/search?hl=en&q=php&btnG=Search';

// Create DOM from URL

$html = file_get_html($url);

// Match all 'A' tags that have the class attribute equal with 'l'

foreach($html->find('a[class=l]') as $key => $info)

{

echo ($key + 1).'. '.$info->plaintext."
\n";

}NOTE Make sure to include the parser before using any functions of it:

view plain copy to clipboard print ?

Php代码

include 'simple_html_dom.php';

[php]

include 'simple_html_dom.php';

include 'simple_html_dom.php';For more information regarding the usage of this function consider checking the ‘PHP Simple HTML Dom Parser’ Manual. To download the package files use the following URL: [url]

分享到: