基于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项目官网地址:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线