当前位置: 首页 > 软件库 > Web应用开发 > HTML解析器 >

phpQuery

PHP 的服务器端 jQuery
授权协议 MIT
开发语言 PHP
所属分类 Web应用开发、 HTML解析器
软件类型 开源软件
地区 不详
投 递 者 梅玉堂
操作系统 Linux
开源组织
适用人群 未知
 软件概览

phpQuery是一个服务器端jQuery开源项目。它可以让PHP开发人员采用与jQuery相同的语法来处理网页元素。

示例代码:

<?php
require('phpQuery/phpQuery.php');
// INITIALIZE IT
// phpQuery::newDocumentHTML($markup);
// phpQuery::newDocumentXML();
// phpQuery::newDocumentFileXHTML('test.html');
// phpQuery::newDocumentFilePHP('test.php');
// phpQuery::newDocument('test.xml', 'application/rss+xml');
// this one defaults to text/html in utf8
$doc = phpQuery::newDocument('<div/>');
// FILL IT
// array syntax works like ->find() here
$doc['div']->append('<ul></ul>');
// array set changes inner html
$doc['div ul'] = '<li>1</li> <li>2</li> <li>3</li>';
// MANIPULATE IT
$li = null;
// almost everything can be a chain
$doc['ul > li']
	->addClass('my-new-class')
	->filter(':last')
		->addClass('last-li')
// save it anywhere in the chain
		->toReference($li);
// SELECT DOCUMENT
// pq(); is using selected document as default
phpQuery::selectDocument($doc);
// documents are selected when created or by above method
// query all unordered lists in last selected document
$ul = pq('ul')->insertAfter('div');
// ITERATE IT
// all direct LIs from $ul
foreach($ul['> li'] as $li) {
	// iteration returns PLAIN dom nodes, NOT phpQuery objects
	$tagName = $li->tagName;
	$childNodes = $li->childNodes;
	// so you NEED to wrap it within phpQuery, using pq();
	pq($li)->addClass('my-second-new-class');
}
// PRINT OUTPUT
// 1st way
print phpQuery::getDocument($doc->getDocumentID());
// 2nd way
print phpQuery::getDocument(pq('div')->getDocumentID());
// 3rd way
print pq('div')->getDocument();
// 4th way
print $doc->htmlOuter();
// 5th way
print $doc;
// another...
print $doc['ul'];
  • 目前网上phpQuery的中文文档比较少,并且官方文档在谷歌上,特别整理了一些常用的phpQuery方法,供大家查阅以及新手学习。 以下资料均来自官方文档,官方文档地址:https://code.google.com/archive/p/phpquery/wikis 基础 示例 phpQuery::newDocumentFileXHTML('my-xhtml.html')->find('p');

  • 【简介】 phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容。更有意思的是,它采用了jQuery的思想,使得可以像使用jQuery一样处理页面内容,获取想要的页面信息。 【步骤】 1.引入phpquery类库 下载连接点击下载 include 'phpQuery/phpQuery.php'; 2加载需要获取内容的网页连接或则文档 加载文档主要通过phpQ

  • 前言 为什么使用phpQuery phpQuery是基于php5新添加的DOMDocument。而DOMDocument则是专门用来处理html/xml。它提供了强大的xpath选择器及其他很多html/xml操作函数,使得处理html/xml起来非常方便。 尤其对于新手,看到一堆”不知所云”的字符评凑在一起,有种脑袋都要炸了的感觉。如果要分离的对象没有太明显的特征,正则写起来更是麻烦。 学习成本

  • phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。 使用方法: phpQuery::newDocumentFile($url); //首先设置要采集的页面url $companies = pq('ul

  • 1.几种常用的PHP爬虫框架对比 1.1 phpQuery 优势:类似jquery的强大搜索DOM的能力。  pq()是一个功能强大的搜索DOM的方法,跟jQuery的$()如出一辙,jQuery的选择器基本上都能使用在phpQuery上,只要把“.”变成“->”,Demo如下(对应我的github的Demo5) <?php require('phpQuery/phpQuery.php');

  • 一、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的htm

  •   经常会需要抓取别人网站的内容,但直接抓取整个页面的数据总是用使用正则进行匹配过滤,对于正则不熟悉的人挺头疼的, 而使用phpquery使抓取变得简单很多,只要对jquery有了解,就可以轻松的使用类似jq的方式抓取网站的内容 下面简单介绍下phpquery使用,以及我在使用中遇到过的一些问题 首先,下载phpquery,可以直接到phpquery官网下载, 我个人上传了一个到百度云,链接:ht

  • 1)安装composer 参照该文档安装composer https://pkg.phpcomposer.com/ 2)安装完后进入tp框架的根目录下,在根目录下的composer.json文件中的require中加入QueyListy和扩展如下 "jaeger/querylist": "^3.2", "jaeger/querylist-ext-request":"^1.0", "jaeger/q

  • 第一篇文章介绍了使用原生的PHP和PHP的扩展库实现了爬虫技术。本文尝试使用PHP爬虫框架来写,首先对三种爬虫技术phpQuery,PHPcrawer, snoopy进行对比,然后分析模拟浏览器行为的方式,重点介绍下snoopy 所有代码挂在我的github上 1.几种常用的PHP爬虫框架对比 1.1 phpQuery 优势:类似jquery的强大搜索DOM的能力。 pq()是一个功能强大的搜索D

  • QueryList是一个基于phpQuery的通用列表采集类,是一个简单、 灵活、强大的采集工具,采集任何复杂的页面 基本上就一句话就能搞定了。 QueryList 使用 //实例化一个采集对象 $hj = new QueryList('http://www.baidu.com/s?wd=jaekj',array('title'=>array('h3','text'))); //输出结果:二维关联

  • phpQuery是一个用php实现的类似jQuery的开源项目,可以在服务器端以jQuery的语法形式解析网页元素。 相对于正则或其它方式匹配网页方式,phpQuery使用起来要方便的多。 在使用phpQuery采集网页时,遇到一个问题:在处理大量网页之后,phpQuery占用的内存数量非常惊人(很快就超过了1G), 比如这段代码: while (true) {     phpQuery::new

  • 使用phpQuery获取数组 <? include 'phpQuery.php'; phpQuery::newDocumentFile('http://job.blueidea.com'); foreach (pq("input[name='jobEmail[]']") as $li){ $po['jobEmail'][] = pq($li)->attr('value'); } 使用

  • 有时候解析一段 HTML 代码时 phpQuery 无法解析原因: 可能是缺少类似下面的 meta 信息,在带解析的字符串任意位置添上即可 : <meta http-equiv="Content-Type" content="text/html; charset=GBK" />

  • phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。 采集头条 先看一实例,现在我要采集新浪网国内新闻的头条,代码如下: include 'phpQuery/phpQuery.php'; phpQuery::newDo

  • 依赖 PHP5以上、PHP5 DOM扩展、Zend Framework PHP 5 DOM扩展是默认编译到内核的,这个不会有问题,phpQuery实际是它的二次封装。phpQuery之所以用到ZF是因为它使用了ZF的类库去模拟一个浏览器,它可以用来自动提交表单等交互操作。 Basics 1装载文档 phpQuery::newDocument($html, $contentType = null)

  •    之前使用phpQuery采集页面信息,但是取过来后中文总是乱码,上网搜了一下别的同僚的解决方案,其中最有用的一篇是http://blog.ihipop.info/2011/08/2647.html/comment-page-1 作者的解决方案很详细,但是按照方案实行了一遍后,发现还是没解决我的问题,于是又装回了原版的phpquery,然后继续在编码上来回转换解决问题。    我需要完成的任务

  • 使用phpquery采集小说 说明 phpQuery是基于php5新添加的DOMDocument。而DOMDocument则是专门用来处理html/xml。它提供了强大xpath选 择器及其他很多html/xml操作函数,使得处理html/xml起来非常方便 步骤 先获取小说的列表页的a标签的链接 进入详情页获取标题和内容 输出txt到浏览器 代码地址 代码 <?php /** * Created

  • phpQuery 使用phpQuery 可以对HTML 页面进行类似于JQuery 一样的操作。目的是进行HTML 数据的抓取,以及对HTML 文件内容的补充等操作,完全就类似于jQuery 一样的操作。 <?php require_once "../phpQuery/phpQuery.php"; $url = "http://kuailiyu.cyzone.cn/"; $html = fil

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

  • phpQuery, 在 PHP 處理 HTML DOM 的好幫手阿!! 哈! 這個 project 真不錯, 尤其是對於有使用 jQuery 的人, 更容易上手阿 :p 顧名思義, 就是 PHP 的 jQuery 阿! DOM select 的語法跟 jQuery 完全一樣阿! 而且, 當然是 chainable :p 也就是說, 只有 PHP 5 能用囉 :p 目前在 stickeraction

  • query()方法 履行SQL命令,不管如何通过PHP脚本与Mysql数据库交互,进程都是1样的,创建1个SQL语句,再传递给履行查询的函数。 在mysqli类中提供了几种履行SQL命令的方法,其中最经常使用的是query()方法。 对insert、update、delete等不会返回数据的SQL命令,query()方法在SQL命令成功履行时返回true。在此基础上还可以通过mysqli对象中的a

  • 先来看一下http_build_query函数的基本语法: http_build_query语法 string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] ) 简单来说,http_bui

  • phpQuery解析HTML( $dom = new DOMDocument(); )在有html头部时会去识别查询<meta charset=“字符编码”>,对按charset编码去解析,但部分html的编码声明是使用<meta http-equiv=“content-type” content=“text/html; charset=字符编码” /> 这个时候只需要对要解析的内容拼接“<met

  • 解析url信息 <?php $url = 'https://www.php.net/manual/zh/language.types.php?name=Tom&age=23'; // 方式一:parse_url print_r(parse_url($url)); // Array // ( // [scheme] => https // [host] => www.php.ne

 相关资料
  • 问题内容: 说我有一个用perl或python编写的脚本。编写在字符串上使用jQuery选择器的函数的最简单方法是什么?即能够做到: 其中的功能是对存储在中的html字符串运行jquery选择器。即使只限于返回字符串(不是完整的jquery对象),它仍然会非常有用。即,如果您需要提供一个JavaScript函数作为回调,这将使结果呈现为脚本语言可理解的内容: 并且它将以列表形式返回回调的结果。 我

  • [warning] 注意 安装前需要保证服务器端与G01云中心的443端口通信保持畅通,可以通过命令 telnet www.gov110.cn 80,telnet apiv.gov110.cn 443,telnet update.gov110.cn 80 telnet scan.gov110.cn 80,telnet monitor.gov110.cn 80,telnet alive.gov110

  • [warning] 注意 安装前需要保证服务器端与G01云中心的通信保持畅通,可以通过命令 telnet www.gov110.cn 80,telnet apiv.gov110.cn 443,telnet update.gov110.cn 80 telnet scan.gov110.cn 80,telnet monitor.gov110.cn 80,telnet alive.gov110.cn 4

  • 问题内容: 实施GWT服务器端国际化的最佳方法是什么? 使用本地Java属性文件(不确定如何读取以及如何找到正确的语言文件)(unicode字符串需要ASCII编码) 使用GWTI18N.java -GWT模块,该模块可让您在客户端和服务器上无缝使用GWT I18N,并使用“ java.lang.reflect.Proxy方法” 使用Kotori I18N -… 还有其他想法吗? 如何找到本地化并

  • 如果我正确理解了服务器发送事件的原则,那么每次客户端注册到EventSource时,它实际上会打开一个到管理事件的资源的新HTTP连接。与其他HTTP请求相反,连接保持活动状态,因此专用于此客户端的服务器进程/线程将一直运行,直到客户端断开连接。 如果我们有1000个客户端使用SSE连接到一个应用程序,该怎么办?我们是否会有1000个进程/线程(做同样的事情)并发运行以处理SSE?我想我错了,但如

  • 在本节中,我们将讨论如何对服务器端进行攻击。服务器端攻击不需要用户交互。这些攻击可以与Web服务器一起使用。我们也可以将它们用在人们每天使用的普通计算机上。为了进行这些攻击,我们将针对一个Metasploitable设备。我们将在Melasploitable设备上使用它的原因是,如果我们的目标使用个人计算机,并且如果它们与我们不在同一网络上,那么即使我们设法获取其IP地址,其IP地址同在于路由器的

  • info 如果您能了解下面这些技术,能加快您对本文的了解 vuex - Vue.js 应用程序开发的状态管理模式 Vue.js SSR - Vue.js 服务器端渲染 webpack - 编译构建工具 Lavas 服务器端渲染模板参考了 vue-hackernews 的渲染和开发机制,并且结合了 Lavas 的 App Shell 模板,导出的工程中会有 App Shell 等 如果您不了解 vu

  • React 提供了两个方法 renderToString 和 renderToStaticMarkup 用来将组件(Virtual DOM)输出成 HTML 字符串,这是 React 服务器端渲染的基础,它移除了服务器端对于浏览器环境的依赖,所以让服务器端渲染变成了一件有吸引力的事情。 服务器端渲染除了要解决对浏览器环境的依赖,还要解决两个问题: 前后端可以共享代码 前后端路由可以统一处理 Rea