`
天梯梦
  • 浏览: 13730477 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

phpQuery—基于jQuery的PHP实现

阅读更多

Query的选择器之强大是有目共睹的,phpQuery 让php也拥有了这样的能力,它就相当于服务端的jQuery。

先来看看官方简介:

phpQuery is a server-side, chainable, CSS3 selector driven Document Object Model (DOM) API based on jQuery JavaScript Library.

Library is written in PHP5 and provides additional Command Line Interface (CLI).

 

存在的意义

我们有时需要抓取一个网页的内容,但只需要特定部分的信息,通常会用正则来解决,这当然没有问题。正则是一个通用解决方案,但特定情况下,往往有更简单快 捷的方法。比如你想查询一个编程方面的问题,当然可以使用Google,但stackoverflow 作为一个专业的编程问答社区,会提供给你更多,更靠谱的答案。

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

1、编写条件表达式比较麻烦
尤其对于新手,看到一堆”不知所云”的字符评凑在一起,有种脑袋都要炸了的感觉。如果要分离的对象没有太明显的特征,正则写起来更是麻烦。

2、效率不高
对于php来说,正则应该是没有办法的办法,能通过字符串函数解决的,就不要劳烦正则了。用正则去处理一个30多k的文件,效率不敢保证。

3、有phpQuery
如果你使用过jQuery,想获取某个特定元素应该是轻而易举的事情,phpQuery让这成为了可能。

 

浅析phpQuery

phpQuery是基于php5新添加的DOMDocument。而DOMDocument则是专门用来处理html/xml。它提供了强大xpath选 择器及其他很多html/xml操作函数,使得处理html/xml起来非常方便。那为什么不直接使用呢?这个,去看一下官网的函数列表 就知道了,如果对自己的记忆力很有信心, 不妨一试。

 

几个简单的例子

 

获取蓝色理想最热的招聘职位

 

<?
include 'phpQuery.php';
phpQuery::newDocumentFile('http://job.blueidea.com');
$companies = pq('#hotcoms .coms')->find('div');
foreach($companies as $company)
{
   echo pq($company)->find('h3 a')->text()."<br>";
}
 

小结

  • pq()就像jQuery里的$()
  • 基本上jQuery的选择器都可以用在phpQuery上,只要把’.'变成’->’
  • phpQuery提供了好几种载入文件的方法,有的使用字符串,有的使用文件(包括url),选 择的时候要注意
  • 基本上这一页 就很能说明问题了

其他解析器

simplehtmldom 也是个不错的html解析器,使用起来也挺方便,是基 于正则的,所以没有phpQuery那么强大,如果没有太高的要求,也基本够用了。

yql 是yahoo出的一款使用类似SQL的语言,来获取相应的数据,也很强大,无须任何类 库,可以直接调用,支持xpath,如果对SQL语句比较熟悉的话,可以考虑yql。

>>QueryPath, php上的jQuery

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    phpQuery下载

    phpQuery是基于PHP开发的一个强大的网页解析库,它的设计灵感来源于JavaScript库jQuery,因此在使用上有着类似jQuery的语法风格,使得PHP开发者可以方便地在服务器端进行DOM操作,提取和修改HTML或XML文档内容。...

    PHP工具PHPquery

    PHPquery是一个基于PHP的开源工具,它为开发者提供了类似jQuery的API,用于处理HTML、XML等文档对象模型(DOM)。这个工具极大地简化了网页抓取和解析的过程,尤其对于那些需要在PHP环境中进行网页数据提取和操作的...

    PHP jquery autocomplete实现

    在本文中,我们将深入探讨如何使用PHP和jQuery的Autocomplete功能来实现一个高效且用户友好的搜索输入框。这个功能通常用于网站上的搜索框,它能够根据用户输入的字符动态提供匹配建议,提升用户体验。 首先,`...

    phpQuery_qwpmrj_phpQuery_

    【phpQuery】是一种基于PHP的库,用于处理HTML和XML文档,它的设计灵感来源于jQuery,因此在使用上具有类似于jQuery的API,使得开发者能够方便地在PHP中进行DOM操作。这个压缩包文件“phpQuery_qwpmrj_phpQuery_”很...

    QueryList.php+phpQuery.php下载

    QueryList是一个基于phpQuery的PHP爬虫框架,它提供了强大的CSS选择器支持,使得开发者可以像使用jQuery那样方便地选取网页元素。QueryList的核心功能包括网页抓取、HTML解析、数据提取和规则处理等,适用于各类网页...

    php爬虫采集类-phpQuery:支持抓取网站,非常强大的php类库

    phpQuery支持抓取网站,进行爬虫,非常强大,是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样...

    phpQuery-0.9.5.386

    phpQuery是一款基于PHP的库,它的设计灵感来源于JavaScript的jQuery库,旨在为PHP开发者提供一套强大的文档对象模型(DOM)操作工具。通过phpQuery,开发者可以轻松地在服务器端对HTML或XML文档进行遍历、查找、修改...

    php基于phpQuery的通用采集类.zip

    【PHP基于phpQuery的通用采集类】 在网页数据抓取领域,PHP是一种广泛使用的语言,而phpQuery则是一个强大的PHP库,它模仿了jQuery的选择器语法,使得在PHP中进行HTML文档的解析和操作变得非常方便。这个"php基于...

    up_288282_phpQuery_10p57w.rar

    phpQuery 是一个基于 PHP 的服务器端类库,其设计灵感来源于客户端的 jQuery,为开发者提供了类似于 jQuery 的 API,使得在 PHP 中操作 XML 和 HTML 文档变得更加便捷。 【描述】中提到,phpQuery 允许开发者以 ...

    phpQuery_qmfafg_phpQuery_

    【phpQuery】是一种基于jQuery语法的PHP库,它允许开发者在服务器端使用类似于浏览器中jQuery的API来操作HTML和XML文档。这个库极大地简化了PHP处理网页内容的复杂性,尤其是进行网页抓取和数据提取时。phpQuery的...

    phpQuery_wsnrt3_phpQuery_

    【phpQuery】是一种基于jQuery语法的PHP库,它允许开发者在服务器端使用类似于jQuery的API来操作HTML或XML文档。这个库特别适用于网页抓取、数据提取和网页内容的处理,因为它提供了简单易用的接口来遍历和修改DOM树...

    phpQuery.php

    php爬虫类phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容。更有意思的是,它采用了jQuery的思想,使得可以像使用jQuery一样处理页面内容,获取想要的页面信息。

    phpQuery_doxkkc_phpQuery_

    综合来看,这个压缩包提供了一个基于PHP的网页抓取工具的源码,通过phpQuery库实现了类似jQuery的DOM操作,可以方便地处理和解析HTML文档。此外,还包含了一些可能与项目相关的文本文件,如日志、文件信息等,这些...

    phpQuery支持抓取网站,进行爬虫,非常强大

    PHPQuery是一款基于PHP的库,设计灵感来源于jQuery,它使得在PHP中处理HTML文档变得极其简单。这个库的主要目的是为了方便网页数据的抓取,进而实现网页爬虫的功能。PHPQuery允许开发者通过类似于jQuery的语法来选择...

    jQuery 基于slidercaptcha.js滑块式验证码插件支持移动端.rar

    **jQuery滑块式验证码插件基于slidercaptcha.js的详解** 滑块式验证码是现代网站防止自动化机器人和恶意攻击的一种常见安全机制。它通常用于登录、注册或其他敏感操作中,要求用户执行简单的交互任务来证明他们不是...

    Jquery AutoComplete组件+Ajax实现搜索框输入提示功能小记

    - **jQuery AutoComplete插件**:这是一个基于jQuery UI的插件,可以根据用户输入自动搜索和过滤选项,从而帮助用户从预设列表中快速选择合适的项。 #### 实现原理 实现搜索框输入提示功能的核心在于使用JQuery捕获...

    phpQuery_1vtybd_phpQuery_

    【phpQuery】是一种基于PHP的库,用于解析和操作HTML文档,它的设计灵感来源于jQuery,因此在使用上具有类似于jQuery的API,使得开发者能够方便地在PHP中进行DOM(Document Object Model)操作。这个名为...

    phpQuery_r8c0ty_phpQuery_

    【phpQuery】是一种基于jQuery语法的PHP库,它允许开发者在服务器端使用类似于jQuery的API来操作HTML和XML文档。这个库的目的是为了让PHP开发者在处理网页内容时能享受到jQuery的便捷性,尤其是在进行网页抓取(Web ...

    jquery+mysql+php无刷新分页

    本教程将详细介绍如何利用jQuery、MySQL和PHP实现这一功能,帮助开发者创建更加流畅的数据浏览体验。 ### 一、jQuery简介 jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画效果和Ajax交互...

    PHP+jquery+query 3级联动

    在这个"PHP+jquery+query 3级联动"项目中,我们主要探讨如何使用ThinkPHP框架和前端技术jQuery与Ajax实现这一功能。 首先,让我们了解PHP和ThinkPHP框架的基础知识。PHP是一种服务器端的脚本语言,广泛应用于Web...

Global site tag (gtag.js) - Google Analytics