编程解析(解析算法源码)

lxf2023-05-09 17:58:02

最近,如果你想用php写一个爬虫,你需要解析html。在sourceforge上,你找到一个叫PHP Simple HTML DOM Parser的项目,它可以通过css选择器以类似jQuery的方式返回指定的DOM元素,非常强大。
首先要在程序开头引入文件simple _ html _ DOM . PHP
并复制代码如下:
include _ once(& # 39;simple _ html _ dom.php & # 39);

PHP简单HTML DOM解析器提供了三种创建DOM对象方法
代码如下:
/从字符串创建DOM对象
$ HTML = str _ get _ HTML(& # 39;& lthtml & gt& ltbody & gt你好!& lt/body & gt;& lt/html & gt;');
//从URL创建一个DOM对象
$ html = file _ get _ html(& # 39;http://www.google.com/');
//从HTML文件创建一个DOM对象
$ HTML = file _ get _ HTML(& # 39;test.htm & # 39);

得到DOM对象后,可以执行各种操作
复制代码如下:
/查找所有锚点,返回一个元素对象数组
$ ret = $ html--> Find(& # 39;一& # 39;);
//查找第N个定位点,如果没有找到,则返回元素对象或null(从零开始)
$ ret = $ html-& gt;查找(& # 39;一& # 39;, 0);
//查找最后一个定位点,如果没有找到,则返回元素对象或null(从零开始)
$ ret = $ html-& gt;查找(& # 39;一& # 39;, -1);
//查找全部& ltdiv & gt使用id属性
$ ret = $ html-& gt;查找(& # 39;div[id]& # 39;);
//查找全部& ltdiv & gt哪个属性id = foo
$ ret = $ html-& gt;查找(& # 39;div[id = foo]& # 39;);

这里可以使用各种css选择器,就像jQuery中的DOM操作一样,非常方便。此外,还有两个特殊的属性可以获取文本和注释的内容
。复制如下代码:
/查找所有文本块
$ es = $ html-->查找(& # 39;正文& # 39;);
//查找所有注释(& lt!-...-& gt;)块
$ es = $ html-& gt;查找(& # 39;评论& # 39;);

当然和jQuery类似,PHP Simple HTML DOM Parser也支持链式操作,各种访问DOM元素的简单方法
复制代码如下:
/example
echo $ HTML--> find(& quot;# div 1 & gt;,0)-& gt;儿童(1)-& gt;儿童(1)-& gt;儿童(2)-& gt;id;
//或
echo $ html-& gt;getElementById(& quot;div1 & quot)-& gt;子节点(1)-& gt;子节点(1)-& gt;子节点(2)-& gt;get attribute(& # 39;id & # 39);

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!