php用正则表达抓取网页中文章(Query的选择器之强大是有目共睹的,它就相当于服务端)

优采云 发布时间: 2022-02-05 02:19

  php用正则表达抓取网页中文章(Query的选择器之强大是有目共睹的,它就相当于服务端)

  Query 选择器的威力是有目共睹的。phpQuery使php具备这样的能力,相当于服务器端的jQuery。

  我们先来看看官方的介绍:

  phpQuery 是一个基于 jQuery JavaScript 库的服务器端、可链接、CSS3 选择器驱动的文档对象模型 (DOM) API。

  库是用 PHP5 编写的,并提供了额外的命令行界面 (CLI)。

  存在的意义

  我们有时需要爬取网页的内容,但只需要特定部分的信息,通常用正则表达式解决,当然没有问题。正则化是一种通用的解决方案,但在特定情况下,往往有更简单、更快的方法。比如你要查询一个编程问题,当然可以用谷歌,但是stackoverflow作为一个专业的编程问答社区,会为你提供越来越多可靠的答案。

  对于 html 页面,不应该使用正则表达式的原因主要有 3 个

  1、条件表达式很难写

  尤其是新手,看到一堆“看不懂”的人物评论在一起,感觉脑袋都要炸了。如果要分离的对象没有明显的特征,写正则表达式就更麻烦了。

  2、效率不高

  对于php,应该没有办法正则化。它可以通过字符串函数来解决,所以不要为正则化而烦恼。使用正则处理超过30k的文件,效率无法保证。

  3、有 phpQuery

  如果您使用过 jQuery,那么获取特定元素应该是轻而易举的事,phpQuery 使这成为可能。

  phpQuery分析

  phpQuery 基于 php5 中新增的 DOMDocument。而DOMDocument是专门用来处理html/xml的。它提供了强大的 xpath 选择器和许多其他 html/xml 操作功能,使得处理 html/xml 非常方便。那么为什么不直接使用呢?这个,看官网的功能列表就行了。如果你对自己的记忆力有信心,不妨试一试。

  几个简单的例子

  获得 Blue Ideal 最热门的工作

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线