欢迎大家访问博主的博客新家:IT博客达人网 (http://www.blogdaren.com)[耶]

PHP采集利器之phpQuery的用法详解

manon 2018-3-14 15:48 PHP 抢沙发 146人打酱油 打开侧边栏| 关闭侧边栏

官方文档地址:

https://code.google.com/archive/p/phpquery/wikis

See Gitub:

https://code.google.com/p/phpquery
https://github.com/TobiaszCudnik/phpquery

https://github.com/phpquery/phpquery

基础用法:

require_once "/path/to/phpQuery/phpQuery.php"; 
phpQuery::newDocumentFile('http://www.blogdaren.com'); 
echo pq("title")->text();    // 获取网页标题
echo pq("input#uid")->val(); // 获取id为uid的input的控件值

上例中第一行引入phpQuery.php文件,
第二行通过newDocumentFile加载一个文件,
第三行通过pq()函数获取title标签的文本内容,
第四行获取id为uid的input控件的值,

上述代码主要做了两件事:即加载文件和读取文件内容。

加载文档:

加载文档主要通过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的重点,主要分两部分:即选择器和过滤器
1. 选择器
要了解phpQuery选择器的用法,建议先了解jQuery的语法,最常用的语法包括有:
pq('#id'):即以#号开头的ID选择器,用于选择已知ID的容器所包括的内容
pq('.classname'):即以.开头的class选择器,用于选择class匹配的容器内容
pq('parent > child'):选择指定层次结构的容器内容,如:pq('.main> p')用于选择class=main容器的所有p标签
2. 过滤器
主要包括::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相关资料,用法基本一致,只需要注意 . 与 -> 的区别即可。

正文部分到此结束

版权声明:除非注明,本文由( manon )原创,转载请保留文章出处

本文链接:PHP采集利器之phpQuery的用法详解

继续浏览:木有标签

CentOS 6.5如何 yum 安装node.js以及npm?
【原创】解决 git clone 报错 fatal: unable to access '......': SSL connect error

发表评论

看看右边的头像对不对?→_→