用php解析html

转载 2012年03月21日 09:18:45

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

首先要在程序的开始引入simple_html_dom.php这个文件

?
include_once('simple_html_dom.php');

PHP Simple HTML DOM Parser提供了3种方式来创建DOM对象

?
// Create a DOM object from a string
$html = str_get_html('<html><body>Hello!</body></html>');
 
// Create a DOM object from a URL
$html = file_get_html('http://www.google.com/');
 
// Create a DOM object from a HTML file
$html = file_get_html('test.htm');

得到DOM对象后就可以进行各种操作了

?
// Find all anchors, returns a array of element objects
$ret = $html->find('a');
 
// Find (N)th anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', 0);
 
// Find lastest anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', -1);
 
// Find all <div> with the id attribute
$ret = $html->find('div[id]');
 
// Find all <div> which attribute id=foo
$ret = $html->find('div[id=foo]');

这里可以使用各种css选择器,就像在jQuery中进行DOM操作一样,非常方便。此外,还有两个特殊的属性可以得到文本和注释的内容

?
// Find all text blocks
$es = $html->find('text');
 
// Find all comment (<!--...-->) blocks
$es = $html->find('comment');

当然,还是类似于jQuery,PHP Simple HTML DOM Parser也支持链式操作,以及各种访问DOM元素的简单方法

?
// Example
echo $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;
// or
echo $html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');

PHP解析html

PHP解析html信息;网上也有很多方法,这里写一种形式;首先要引入simple_html_dom.php文件网上搜即可下载 这里的例子是解析出来html中的a标签,并输出a标签的href的值;如需...
  • momo_mutou
  • momo_mutou
  • 2015年05月06日 13:45
  • 752

(转)用php解析html

最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的方式通过css选择器来返回指定的...
  • jackyrongvip
  • jackyrongvip
  • 2013年07月01日 17:44
  • 1351

php解析html类(2)

之前写过一个1.0版的。bug还是有不少的 1.将html分成块的时候,保存的是每个块的所有字符。这种方法会浪费时间和内存。换成保存块在源码中的其实index和长度,则好太多了。 2.分块时只对 ' ...
  • ruanjiayou123
  • ruanjiayou123
  • 2016年01月11日 22:28
  • 738

php解析html类库simple_html_dom(爬虫相关)

下载地址:https://github.com/samacs/simple_html_dom 解析器不仅仅只是帮助我们验证html文档;更能解析不符合W3C标准的html文档。它使用了类似jQuer...
  • h330531987
  • h330531987
  • 2017年04月22日 12:15
  • 2389

Php像Jquery一样解析和抓取Html元素

Php像Jquery一样解析和抓取Html元素很庆幸,我们一直站在巨人的肩膀上,现在很多功能开发都可以通过组合使用现有的类库来完成。 php像jquery一样来处理html页面元素,已经有大神帮我们...
  • jason_czm
  • jason_czm
  • 2017年03月01日 14:38
  • 694

php解析html类库(第3方类库)simple_html_dom(爬虫相关)

下载地址:https://github.com/samacs/simple_html_dom 解析器不仅仅只是帮助我们验证html文档;更能解析不符合W3C标准的html文档。它使用了类似jQu...
  • qq_33862644
  • qq_33862644
  • 2018年01月31日 11:50
  • 24

php解析HTML

simple html dom 显然是相当不多的html文件解析工具,他可以在
  • plbeast
  • plbeast
  • 2014年05月31日 16:19
  • 738

php 解析html标签 html_entity_decode

解析html标签:html_entity_decode($string, ENT_QUOTES, 'UTF-8')。 str_repleace('$res',' ',$str);...
  • design321
  • design321
  • 2013年03月01日 11:13
  • 1105

php解析html

老师给了一个会议论文统计的excel文件,其中统计了总共提交的将近200篇论文的ID, 最终题目,作者,任务是把每一篇论文的email填充上去。手动填充费时易错,于是考虑写程序来做这件事:使用p...
  • jcwKyl
  • jcwKyl
  • 2010年06月20日 17:52
  • 5664

php 解析html

php 解析html发表于:2008年1月11日 15时26分46秒阅读(0)评论(0)本文链接:http://user.qzone.qq.com/635457211/blog/1200036406 ...
  • xwchen
  • xwchen
  • 2008年02月16日 08:45
  • 635
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用php解析html
举报原因:
原因补充:

(最多只允许输入30个字)