文档章节

phpQuery的用法

 蜗牛奔跑
发布于 2015/06/17 14:34
字数 524
阅读 40
收藏 0
点赞 0
评论 0

一、phpQuery的hello word!

下面简单举例:

include 'phpQuery.php'; phpQuery::newDocumentFile('http://www.phper.org.cn'); echo pq("title")->text();	// 获取网页标题echo pq("div#header")->html();	// 获取id为header的div的html内容

 上例中第一行引入phpQuery.php文件,

第二行通过newDocumentFile加载一个文件,

第三行通过pq()函数获取title标签的文本内容,

第四行获取id为header的div标签所包含的HTML内容。

主要做了两个动作,即加载文件和读取文件内容。

 

二、载入文档(loading documents)

加载文档主要通过phpQuery::newDocument来进行操作,其作用是使得phpQuery可以在服务器预先读取到指定的文件或文本内容。

主要的方法包括:

phpQuery::newDocument($html, $contentType = null)

phpQuery::newDocumentFile($file, $contentType = null)

phpQuery::newDocumentHTML($html, $charset = ‘utf-8′)

phpQuery::newDocumentXHTML($html, $charset = ‘utf-8′)

phpQuery::newDocumentXML($html, $charset = ‘utf-8′)

phpQuery::newDocumentPHP($html, $contentType = null)

phpQuery::newDocumentFileHTML($file, $charset = ‘utf-8′)

phpQuery::newDocumentFileXHTML($file, $charset = ‘utf-8′)

phpQuery::newDocumentFileXML($file, $charset = ‘utf-8′)

phpQuery::newDocumentFilePHP($file, $contentType) 

 

三、pq()函数用法

pq()函数的用法是phpQuery的重点,主要分两部分:即选择器和过滤器

选择器】

要了解phpQuery选择器的用法,建议先了解jQuery的语法

最常用的语法包括有:

pq('#id'):即以#号开头的ID选择器,用于选择已知ID的容器所包括的内容

pq('.classname'):即以.开头的class选择器,用于选择class匹配的容器内容

pq('parent > child'):选择指定层次结构的容器内容,如:pq('.main > p')用于选择class=main容器的所有p标签

更多的语法请参考jQuery手册

【过滤器】

主要包括::first,:last,:not,:even,:odd,:eq(index),:gt(index),:lt(index),:header,:animated等

如:

pq('p:last'):用于选择最后一个p标签

pq('tr:even'):用于选择表格中偶然行

 

四、phpQuery连贯操作

pq()函数返回的结果是一个phpQuery对象,可以对返回结果继续进行后续的操作,例如:

 pq('a')->attr('href', 'newVal')->removeClass('className')->html('newHtml')->...

详情请查阅jQuery相关资料,用法基本一致,只需要注意.与->的区别即可。


© 著作权归作者所有

共有 人打赏支持
粉丝 34
博文 594
码字总数 112254
作品 0
海淀
PHP 用QueryList抓取网页内容

http://www.cnblogs.com/wb145230/p/4716403.html 之前抓取网页数据都是用Java Jsoup,前几天听说用PHP抓更方便,今天就简单研究了一下,主要是用QueryList来实现. QueryList是一个基于phpQuer...

thinkyoung ⋅ 2015/08/31 ⋅ 0

phpQuery—基于jQuery的PHP实现

Query的选择器之强大是有目共睹的,phpQuery 让php也拥有了这样的能力,它就相当于服务端的jQuery。 先来看看官方简介: phpQuery is a server-side, chainable, CSS3 selector driven Docum...

谢锡鹏 ⋅ 2014/09/25 ⋅ 13

phpquery中的each怎么用??

想知道phpquery中each怎么用,我这么写 echo pq("article")->each("Welcome::test","title"); 返回的是整个对象。 当然,用foreach也可以实现,但还是想了解下,看phpquery这部分代码,没看懂...

rihgtzhao ⋅ 2015/07/17 ⋅ 4

简洁、优雅的 PHP 采集工具(爬虫)--QueryList

QueryList是一套简洁、优雅的PHP采集工具(爬虫),基于phpQuery。 特性: 拥有与jQuery完全相同的CSS3 DOM选择器 拥有与jQuery完全相同的DOM操作API 拥有通用的列表采集方案 拥有强大的HTT...

jaeger_ ⋅ 2016/02/29 ⋅ 0

问个phpQuery采集的问题

@李飞麟 你好,想请教个phpQuery的问题。 我用phpQuery采集糗事百科首页的内容,代码如下 phpQuery::newDocumentFile('http://qiushibaike.com'); $art = pq('.block'); foreach($art as $t...

amonxu ⋅ 2013/10/15 ⋅ 3

phpQuery使用错误解决

phpQuery是一个服务器端的jQuery php版的实现,可以对读取到的文档(从本地文件或者url) 用类似 jQuery的语法进行查询和操作,十分方便。 对信息采集很有用,当然也产生了大量重复信息 在 th...

qingfeng哥 ⋅ 2014/05/10 ⋅ 0

使用phpQuery轻松采集网页内容

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

Minho ⋅ 2012/02/08 ⋅ 0

php网页采集功能

我要获取这里的所有列表名称和列表url地址。 phpquery有多种初始化的方法,这里我用: 下载:http://code.google.com/p/phpquery/downloads/list...

liumingzhij26 ⋅ 2012/02/22 ⋅ 0

phpQuery 页面解析用法

想拿到text 3000,用什么方法获取 3000 拿到属性,可以用这些方法 .($node->getAttribute('id') .($node->getAttribute('class') .($node->getAttribute('name') 还有whois是什么意思,没看懂......

sidney9111 ⋅ 2015/11/22 ⋅ 2

jQueryServer

Unobstrusive, client-side bindings to server-side implmentation of jQuery (actually only PHP is supported). Scenario is simple: 1. Connect to server and make an Ajax request to ......

匿名 ⋅ 2008/09/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

iExec Blockchain Marketplace for Cloud

iExec Releases the First-Ever Blockchain Marketplace for Trading Cloud Computing Berlin, Germany, May 29, 2018. iExec has released its blockchain-based decentralized cloud marke......

openthings ⋅ 14分钟前 ⋅ 0

OSChina 周二乱弹 —— 加班的代码不要枉费了我的童子功

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《29》- 未完成乐队 《29》- 未完成乐队 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :#看球提醒# 02:00 巴西v...

小小编辑 ⋅ 33分钟前 ⋅ 11

Docker Swarm的前世今生

概述 在我的《Docker Swarm集群初探》一文中,我们实际体验了Docker Swarm容器集群技术的魅力,与《Kubernetes实践录》一文中提到的Kubernetes集群技术相比,Docker Swarm没有Kubernetes显得...

CodeSheep ⋅ 今天 ⋅ 0

骰子游戏代码开源地址

因为阿里云现在服务器已经停用了,所以上面的配置已经失效。 服务端开源地址:https://gitee.com/goalya/chat4.git 客户端开源地址:https://gitee.com/goalya/client4.git 具体运行界面请参考...

算法之名 ⋅ 今天 ⋅ 0

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部