文档章节

phpQuery使用DOMDocument::loadHTML方法产生报错的处理方式

贤郎--Querying
 贤郎--Querying
发布于 2018/07/27 10:51
字数 265
阅读 196
收藏 0

发现问题

在做爬虫的时候,用了QueryList,在运行的过程中查看日志,出现很多关于phpQuery单文件的error报错,问题是出在html非标准化格式

[ error ] [2]DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 1262[/home/querying/PhpstormProjects/xianlang10.com/EngineSeo/vendor/jaeger/phpquery-single/phpQuery.php:328]
[ error ] [2]DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 1262[/home/querying/PhpstormProjects/xianlang10.com/EngineSeo/vendor/jaeger/phpquery-single/phpQuery.php:328]

解决问题

在查看php手册关于DOMDocumentloadHTML方法的使用的时候,发现libxml_use_internal_errors可以对此类错误,强制以libxml_get_errors()进行获取,该函数返回内容一个迭代器

<?php
	//因此我们可以在调用loadHtml方法之前,先规避这个问题
	// enable user error handling
	libxml_use_internal_errors(true);

	// load the document
	$doc = new DOMDocument;

	if (!$doc->load('file.html')) {
		foreach (libxml_get_errors() as $error) {
			// handle errors here
		}
		libxml_clear_errors();
	}
?>

© 著作权归作者所有

共有 人打赏支持
贤郎--Querying
粉丝 3
博文 56
码字总数 14217
作品 0
深圳
程序员
私信 提问
phpQuery—基于jQuery的PHP实现

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

谢锡鹏
2014/09/25
0
13
phpquery中的each怎么用??

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

rihgtzhao
2015/07/17
824
4
使用phpQuery轻松采集网页内容

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

Minho
2012/02/08
0
0
问个phpQuery采集的问题

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

amonxu
2013/10/15
655
3
phpquery采集 急!!

phpquery怎么采集页面上的下拉框option!!

150637
2013/11/13
382
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx反向代理配置去除前缀

使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:...

架构师springboot
14分钟前
1
0
QianBill API 开发笔记

JWT

BeanHo
25分钟前
1
0
Elasticsearch实战篇——Spring Boot整合ElasticSearch

当前Spring Boot很是流行,包括我自己,也是在用Spring Boot集成其他框架进行项目开发,所以这一节,我们一起来探讨Spring Boot整合ElasticSearch的问题。 本文主要讲以下内容: 第一部分,通...

JAVA_冯文议
35分钟前
1
0
不错的linux下通用的java程序启动脚本

#!/bin/sh#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用,#也可以作为启动java程序的独立脚本来使用。##Author: tudaxia.com, Date: 2011/6/7...

sprouting
今天
3
0
Linux manjaro系统安装后无法连接wifi,解决方案

笔记本为联想 thinkpad E480 首先通过命令lspci -k看一下原因是否为缺少wifi驱动,如下,如果没有Kernel driver in use,说明缺少驱动。 05:00.0 Network controller: Realtek Semiconducto...

bluecoffee
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部