如何让PHP开发人员轻松处理DOM文档内容(一)
优采云 发布时间: 2021-02-08 08:03如何让PHP开发人员轻松处理DOM文档内容(一)
phpQuery是基于PHP的服务器端开源项目,它使PHP开发人员可以轻松处理DOM文档的内容,例如获得新闻头条网站。更有趣的是它使用了jQuery的想法。您可以像使用jQuery一样处理页面内容,以获取所需的页面信息。
DEOM演示
采集标题
首先看一个例子,现在我想采集在新浪的国内新闻头条。代码如下:
include 'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('http://news.sina.com.cn/china');
echo pq(".blkTop h1:eq(0)")->html();
简单的三行代码即可获取标题内容。首先将phpQuery.php核心程序收录在该程序中,然后调用以读取目标网页,最后在相应标记下输出内容。
pq()是一种功能强大的方法,就像jQuery的$()一样,jQuery选择器基本上可以在phpQuery上使用,只需更改“”即可。到“->”。在上面的示例中,pq(“。blkTop h1:eq(0)”)抓取其class属性为页面上blkTop的DIV元素,并在DIV中找到第一个h1标签,然后使用html()方法得到h1标记中的内容(带有html标记)是我们要获取的标题信息。如果您使用text()方法,则只会获取标题的文本内容。当然,您必须很好地使用phpQuery ,关键是在文档Node中找到相应的内容。
采集 文章列表
让我们举一个例子来获取网站的博客列表,请参见代码:
include 'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('http://www.helloweba.com/blog.html');
$artlist = pq(".blog_li");
foreach($artlist as $li){
echo pq($li)->find('h2')->html()."";
}
找到文章标题并通过遍历列表中的DIV进行输出就这么简单。
解析XML文档
假设有一个像这样的test.xml文件:
张三
22
王五
18
现在我想获取名为张三的联系人的年龄,代码如下:
include 'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('test.xml');
echo pq('contact > age:eq(0)');
结果输出:22
就像jQuery一样,这就像准确地找到文档节点,在该节点下输出内容并解析XML文档一样简单。现在,您不必为采集 网站的内容使用麻烦的常规算法,内容替换和其他繁琐的代码。有了phpQuery,一切都会变得更加容易。
开源华人社区收录地址
源代码下载地址