php 正则 抓取网页(phpQuery在介绍QueryList之前的几个特点及学习简单介绍)
优采云 发布时间: 2022-03-15 08:14php 正则 抓取网页(phpQuery在介绍QueryList之前的几个特点及学习简单介绍)
我们有时需要爬取网页的内容,但只需要特定部分的信息,这通常是用正则表达式来解决的,这当然是没有问题的。正则化是一种通用的解决方案,但在特定情况下,往往有更简单、更快的方法。比如你要查询一个编程问题,当然可以用谷歌,但是stackoverflow作为一个专业的编程问答社区,会为你提供越来越多可靠的答案。
对于 html 页面,不应该使用正则表达式的原因主要有 3 个
1、条件表达式很难写
尤其是新手,看到一堆“看不懂”的人物评论在一起,感觉脑袋都要炸了。如果要分离的对象没有明显的特征,写正则表达式就更麻烦了。
2、效率不高
对于php,应该没有办法正则化。它可以通过字符串函数来解决,所以不要为正则化而烦恼。使用正则处理超过30k的文件,效率无法保证。
3、有 phpQuery
如果您使用过 jQuery,那么获取特定元素应该是轻而易举的事,phpQuery 使这成为可能。
查询
在介绍QueryList之前,有必要先介绍一下phpQuery。
phpQuery是一个用php实现的类jQuery开源项目,可以在服务器端以jQuery语法的形式解析网页元素。
基本上,所有 jQuery 选择器都可以在 phpQuery 上使用。phpQuery 非常强大,可以对 DOM 执行任何复杂的操作。接下来要介绍的QueryList相当于phpQuery的一个子集,在采集中很强大。功能。
查询列表
QueryList 是一个基于 phpQuery 的 PHP 通用列表 采集 类。感谢 phpQuery,使用 QueryList 几乎没有学习成本。只要你了解 CSS3 选择器,就可以轻松使用 QueryList。它允许 PHP 做 采集 就像使用 jQuery 选择元素一样简单。QueryList 的几个特点:
易于学习:只有一个核心 API。使用简单:使用jQuery选择器选择页面元素,内置过滤功能,可以过滤掉无用内容,支持无限层级嵌套采集采集结果直接用采集显示@> 规则以列表形式有序返回,支持扩展下载安装使用
下载安装使用请直接移步官方文档查看
官方文档
我使用的PHP环境是5.6,手动下载phpQurey和QueryList文件然后导入
文档参考
采集预分析选择器
目标页面的地址为采集:,采集需要在浏览器中使用开发者工具分析元素的CSS选择器为采集。
示例代码
采集代码:
<p>