用了一下
解析HTML页面,感觉还不错,它能创建一个DOM tree方便你解析html里面的内容。用来抓东西挺好的。
附带一个例子,你也到sourceforge下载压缩包看里面的例子:
<!---->
<!---->
<!---->
Scraping data with PHP Simple HTML DOM Parser
<!---->
Stumble Upon it!
<!---->
Save to Del.icio.us
(9
saves)
<!---->
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:
-
- $html
= file_get_html(
'http://www.microsoft.com/'
);
-
-
- foreach
(
$html
->find(
'a'
)
as
$element
)
- echo
$element
->href .
'<br>'
;
-
-
- foreach
(
$html
->find(
'img'
)
as
$element
)
- 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:
-
- $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'
;
-
-
- 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?
- 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:
- $url
=
'http://www.google.com/search?hl=en&q=php&btnG=Search'
;
-
-
- $html
= file_get_html(
$url
);
-
-
- foreach
(
$html
->find(
'a[class=l]'
)
as
$key
=>
$info
)
- {
- echo
(
$key
+ 1).
'. '
.
$info
->plaintext.
"<br />\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."<br />\n";
}
NOTE
Make sure to include the parser before using any functions of it:
- 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
.
分享到:
相关推荐
simple_html_dom中文解析手册
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 解析器使用入门 #### 一、简介 在Web开发领域,解析HTML文档是一项常见的任务。PHP Simple HTML DOM Parser是一款强大的库,它简化了这一过程,使得开发者能够更加高效地处理HTML文档。该...
高效快速分析和获取HTML内容,对抓取过来的内容进行分析和特定内容提取很方便
而"php-simple-html-dom-parser"是一个PHP库,专门用于处理和解析HTML文档,它提供了类似jQuery的API,使得操作HTML文档变得简单直观。这个包的Laravel版本则将这个强大的解析器集成到Laravel框架中,让开发者可以更...
PHP Simple HTML DOM Parser是一个轻量级且易于使用的库,它允许开发者像操作DOM对象一样方便地处理HTML文档,同时也支持jQuery风格的选择器,使得对HTML元素的操作更加直观。本文将详细讲解这个库的核心概念、功能...
由于基于php模块dom,所以在解析html时的效率比PHP Simple HTML DOM Parser快好几倍。注意:html代码必须是utf-8编码字符,如果不是请转成utf-8如果有乱码的问题参考: ://www.fwolf.com/blog/post/314现在支持...
一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了使用 php html 解析 问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)。
simplehtmldom是用于PHP的快速可靠HTML DOM解析器。 主要特征 纯粹基于PHP的DOM解析器(无需XML扩展名)。 适用于格式正确且已损坏HTML文档。 加载网页,本地文件和文档字符串。 支持CSS选择器。 要求 simple...
在本文中,我们将深入探讨如何在 Laravel 框架中使用 `laravel-html-dom-parser` 包,这是一个基于 PHP Simple HTML DOM Parser 的 Laravel 封装,用于解析和操作 HTML 文档。通过理解这个包,开发者可以更高效地...
一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了这个问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)
Simple HTML DOM 是一个 PHP 库,用于解析和操作 HTML 文档。它提供了一种简单而直观的方式来处理 HTML 内容,使得开发者能够轻松地抓取网页数据、修改 HTML 结构等。本篇文章将详细介绍如何下载 Simple HTML DOM ...
- **DOMDocument**: 内置的PHP类,提供解析HTML和XML的功能,可以解析HTML字符串并转换为DOM对象,然后进行修改、提取数据等操作。 - **DOMXpath**: 与DOMDocument一起使用,用于查找DOM树中的特定元素,支持通过...
`Simple HTML DOM Parser`是一个广泛使用的库,它允许开发者通过DOM(Document Object Model)模型来解析和操作HTML。然而,随着需求的增长和技术的进步,`Simple HTML DOM Parser`可能无法满足所有高级需求,这时就...
在给定的描述中提到了一个博客链接,虽然无法直接访问,但通常这类博客会详细解释如何使用PHP的DOM功能,包括创建DOM对象、解析HTML、遍历DOM树、修改元素属性、以及处理文本内容等步骤。博主可能会通过实例展示如何...
最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的方式通过css选择器来返回指定的DOM元素,功能十分强大。 首先要在程序的开始引入simple_...
3. **HTML解析**:学习如何使用DOMDocument或PHP Simple HTML DOM Parser解析HTML,找到图片链接等信息。 4. **网络爬虫策略**:了解如何实现分页爬取、防反爬机制(如User-Agent、延时请求)、URL管理(避免重复...
PHP不内置DOM解析器,但可以使用PHP的DOM扩展或者第三方库如PHP Simple HTML DOM Parser。这些工具可以帮助我们查找并提取特定元素,例如: ```php // 使用DOM扩展 $doc = new DOMDocument(); $doc->loadHTML($html...
然而,对于现代Web开发,更常见的是使用成熟的DOM解析库,如PHP的DOMDocument和DOMXpath,或者第三方库如Guzzle和SimpleHtmlDom,它们提供了更强大和灵活的数据提取能力。但`table_parser`作为一个轻量级的解决方案...
同时,可以使用正则表达式或者DOM解析库如PHP Simple HTML DOM Parser来解析HTML内容,提取所需的数据。 2. 使用file_get_contents进行基础采集 `file_get_contents()` 是PHP内置的函数,可以用来读取远程或本地...