`

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

    博客分类:
  • php
阅读更多

用了一下

PHP Simple HTML DOM Parser

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

 

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

<!----> <!----> <!---->

Scraping data with PHP Simple HTML DOM Parser

<!---->

Save to StumbleUpon  Stumble Upon it!

  <!---->

  Save to Del.icio.us  Save to Del.icio.us   (9 saves)

  <!---->

Share on Twitter!  Share on Twitter!

<!----> <!---->

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:

  1. // Create DOM from URL or file   
  2. $html  = file_get_html( 'http://www.microsoft.com/' );  
  3.   
  4. // Extract links   
  5. foreach ( $html ->find( 'a' as   $element )  
  6.        echo   $element ->href .  '<br>' ;   
  7.   
  8. // Extract images   
  9. foreach ( $html ->find( 'img' as   $element )  
  10.        echo   $element ->src .  '<br>' ;  
// 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 . '<br>'; 

// Extract images
foreach($html->find('img') as $element)
       echo $element->src . '<br>';

The parser can also be used to modify HTML elements:

  1. // Create DOM from string   
  2. $html  = str_get_html( '<div id="simple">Simple</div><div id="parser">Parser</div>' );  
  3.   
  4. $html ->find( 'div' , 1)-> class  =  'bar' ;  
  5.   
  6. $html ->find( 'div[id=simple]' , 0)->innertext =  'Foo' ;  
  7.   
  8. // Output: <div id="simple">Foo</div><div id="parser" class="bar">Parser</div>   
  9. echo   $html ;  
// Create DOM from string
$html = str_get_html('<div id="simple">Simple</div><div id="parser">Parser</div>');

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

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

// Output: <div id="simple">Foo</div><div id="parser" class="bar">Parser</div>
echo $html;

Do you wish to retrieve content without any tags?

  1. 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 (http://simplehtmldom.sourceforge.net/) 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:

  1. $url  =  'http://www.google.com/search?hl=en&q=php&btnG=Search' ;  
  2.   
  3. // Create DOM from URL   
  4. $html  = file_get_html( $url );  
  5.   
  6. // Match all 'A' tags that have the class attribute equal with 'l'   
  7. foreach ( $html ->find( 'a[class=l]' as   $key  =>  $info )  
  8. {  
  9. echo  ( $key  + 1). '. ' . $info ->plaintext. "<br />\n" ;  
  10. }  
$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."<br />\n";
}

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

  1. 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: http://sourceforge.net/project/showfiles.php?group_id=218559 .

分享到:
评论

相关推荐

    PHP Simple HTML DOM Parser 中文手册

    simple_html_dom中文解析手册

    php-simple-html-dom-parser, PHP简单的HTML DOM解析器适应 Composer 和 PSR 0.zip

    php-simple-html-dom-parser, PHP简单的HTML DOM解析器适应 Composer 和 PSR 0 php-simple-html-dom-parser版本 1.5.2针对 Composer 和 PSR-0的自适应:用PHP5 编写的HTML解析器允许你以非常简单的方式操作 HTML !...

    PHP Simple HTML DOM解析器使用入门

    ### PHP Simple HTML DOM 解析器使用入门 #### 一、简介 在Web开发领域,解析HTML文档是一项常见的任务。PHP Simple HTML DOM Parser是一款强大的库,它简化了这一过程,使得开发者能够更加高效地处理HTML文档。该...

    PHP解析 Simple HTML DOM Parser类

    高效快速分析和获取HTML内容,对抓取过来的内容进行分析和特定内容提取很方便

    Laravel开发-php-simple-html-dom-parser

    而"php-simple-html-dom-parser"是一个PHP库,专门用于处理和解析HTML文档,它提供了类似jQuery的API,使得操作HTML文档变得简单直观。这个包的Laravel版本则将这个强大的解析器集成到Laravel框架中,让开发者可以更...

    simple_html_dom,php下的html文件DOM解析库

    PHP Simple HTML DOM Parser是一个轻量级且易于使用的库,它允许开发者像操作DOM对象一样方便地处理HTML文档,同时也支持jQuery风格的选择器,使得对HTML元素的操作更加直观。本文将详细讲解这个库的核心概念、功能...

    html-parser:php html解析器,类似与PHP Simple HTML DOM Parser,但是比它快好几倍

    由于基于php模块dom,所以在解析html时的效率比PHP Simple HTML DOM Parser快好几倍。注意:html代码必须是utf-8编码字符,如果不是请转成utf-8如果有乱码的问题参考: ://www.fwolf.com/blog/post/314现在支持...

    simple_html_dom 1.8.1

    一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了使用 php html 解析 问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)。

    simplehtmldom:这是简单HTML DOM解析器的镜像,网址为

    simplehtmldom是用于PHP的快速可靠HTML DOM解析器。 主要特征 纯粹基于PHP的DOM解析器(无需XML扩展名)。 适用于格式正确且已损坏HTML文档。 加载网页,本地文件和文档字符串。 支持CSS选择器。 要求 simple...

    Laravel开发-laravel-html-dom-parser

    在本文中,我们将深入探讨如何在 Laravel 框架中使用 `laravel-html-dom-parser` 包,这是一个基于 PHP Simple HTML DOM Parser 的 Laravel 封装,用于解析和操作 HTML 文档。通过理解这个包,开发者可以更高效地...

    php解析html类库simple_html_dom(详细介绍)

    一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了这个问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)

    simple_html_dom下载和使用

    Simple HTML DOM 是一个 PHP 库,用于解析和操作 HTML 文档。它提供了一种简单而直观的方式来处理 HTML 内容,使得开发者能够轻松地抓取网页数据、修改 HTML 结构等。本篇文章将详细介绍如何下载 Simple HTML DOM ...

    PHP解析HTML代码库

    - **DOMDocument**: 内置的PHP类,提供解析HTML和XML的功能,可以解析HTML字符串并转换为DOM对象,然后进行修改、提取数据等操作。 - **DOMXpath**: 与DOMDocument一起使用,用于查找DOM树中的特定元素,支持通过...

    PHP Advanced HTML DOM Parser:简单html dom的直接替代品-开源

    `Simple HTML DOM Parser`是一个广泛使用的库,它允许开发者通过DOM(Document Object Model)模型来解析和操作HTML。然而,随着需求的增长和技术的进步,`Simple HTML DOM Parser`可能无法满足所有高级需求,这时就...

    PHP中使用DOM

    在给定的描述中提到了一个博客链接,虽然无法直接访问,但通常这类博客会详细解释如何使用PHP的DOM功能,包括创建DOM对象、解析HTML、遍历DOM树、修改元素属性、以及处理文本内容等步骤。博主可能会通过实例展示如何...

    用php解析html的实现代码

    最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的方式通过css选择器来返回指定的DOM元素,功能十分强大。 首先要在程序的开始引入simple_...

    基于PHP的美图网采集.zip

    3. **HTML解析**:学习如何使用DOMDocument或PHP Simple HTML DOM Parser解析HTML,找到图片链接等信息。 4. **网络爬虫策略**:了解如何实现分页爬取、防反爬机制(如User-Agent、延时请求)、URL管理(避免重复...

    php抓取页面

    PHP不内置DOM解析器,但可以使用PHP的DOM扩展或者第三方库如PHP Simple HTML DOM Parser。这些工具可以帮助我们查找并提取特定元素,例如: ```php // 使用DOM扩展 $doc = new DOMDocument(); $doc-&gt;loadHTML($html...

    table_parser类及测试文件

    然而,对于现代Web开发,更常见的是使用成熟的DOM解析库,如PHP的DOMDocument和DOMXpath,或者第三方库如Guzzle和SimpleHtmlDom,它们提供了更强大和灵活的数据提取能力。但`table_parser`作为一个轻量级的解决方案...

    简单易学的php采集

    同时,可以使用正则表达式或者DOM解析库如PHP Simple HTML DOM Parser来解析HTML内容,提取所需的数据。 2. 使用file_get_contents进行基础采集 `file_get_contents()` 是PHP内置的函数,可以用来读取远程或本地...

Global site tag (gtag.js) - Google Analytics