基于PHP的服务端开源项目之phpQuery采集文章(一)
优采云 发布时间: 2021-08-01 07:04基于PHP的服务端开源项目之phpQuery采集文章(一)
phpQuery 是一个基于 PHP 的服务器端开源项目,它可以让 PHP 开发者轻松处理 DOM 文档的内容,例如获取新闻的头条新闻网站。更有趣的是它使用了jQuery的思想。你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。
采集头条
先看个例子,现在我要的是采集国内新闻的标题,代码如下:
复制代码代码如下:
收录'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('');
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中找到对应的内容。
采集文章List
下面再看一个例子,获取网站的博客列表,请看代码:
复制代码代码如下:
收录'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('');
$artlist = pq(".blog_li");
foreach($artlist as $li){
echo pq($li)->find('h2')->html()."";
}
找到文章 标题并通过循环遍历列表中的 DIV 将其输出就是这么简单。
解析 XML 文档
假设有一个像这样的 test.xml 文档:
复制代码代码如下:
张三
22
王舞
18
现在想获取联系人张三的年龄,代码如下:
复制代码代码如下:
收录'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('test.xml');
echo pq('contact> age:eq(0)');
结果输出:22
和jQuery一样,它就像准确找到文档节点,输出节点下的内容,解析一个XML文档一样简单。现在您不必为采集网站 内容使用繁琐的代码,例如头痛的常规算法和内容替换。有了 phpQuery,一切都变得简单了。
phpquery项目官网地址: