php 正则 抓取网页(phpQuery在介绍QueryList之前的几个特点及学习简单介绍)

优采云 发布时间: 2022-03-15 08:14

  php 正则 抓取网页(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>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线