php用正则表达抓取网页中文章(Query的选择器之强大是有目共睹的,它就相当于服务端)
优采云 发布时间: 2022-02-05 02:19php用正则表达抓取网页中文章(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 最热门的工作