php爬虫解析gbk编码的页面提示encoding error

作者:zarte    发布时间: 2018-07-19

phpxpath爬虫

## 遇到的问题 curl获取gbk编码的页面,使用DOMDocument解析内容后通过xpath获取不到对应元素。提示loadHTML的时候有错误。 Warning: DOMDocument::loadHTML(): input conversion failed due to input error, bytes 0xE3 0x80 0x90 0xE8 ## 分析及解决 经过实践发现通过xpath的方法来解析主要有三种情况以及对应的解决方法: 1. 1.上面问题对应的情况可以通过将内容转码后再loadHtml解决,注意的是不是转utf-8,虽然中文可以正常显示,要这样 ~~~php mb_convert_encoding($output, 'HTML-ENTITIES', 'UTF-8,GBK,GB2312,BIG5'); ~~~ **HTML-ENTITIES**是关键! 1. 2.有的时候有错也没事可以通过@屏蔽错误输出,只要能正常解析就可以。 1. 3.还有一种是xpath错误,在chrome上可以右键获取到xpath,但是当页面有通过js重新渲染过就有可能导致复制到的规则不匹配。 >记录个python的解决方法[python网络爬虫](https://blog.csdn.net/wangdingqiaoit/article/details/42466307),** 未实际使用过不保证可用。**

上一篇:  windows10命令行cmd执行脚本卡住问题

下一篇:  iptables介绍及基本设置

加载更多